尝试更改HTML属性时出现奇怪的get请求

Weird get request when trying to change HTML attribute

本文关键字:请求 get HTML 属性      更新时间:2023-09-26

所以我有一个html文件,点击按钮后在一个单独的文件中调用该函数:

function getRandomVideoLink(){
    //AJAX request to /random-video
    console.log("ajax request");
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (xhttp.readyState == 4 && xhttp.status == 200) {
            console.log("inside if");
            console.log(xhttp.responseText);
            document.getElementById("myVideo").src = xhttp.responseText;
        }
    };
    xhttp.open("GET", "/random-videolink", true);
    xhttp.send();
}

由于某种原因,它没有更改元素的src属性,而是向服务器发出了一个奇怪的get请求,我得到了一个错误404(正常,因为在处理不支持的请求的app.use()中,我指定显示该错误)。它应该只是更改iframe的属性并显示另一个视频。

另一方面,如果我通过调用它

function change() {
    document.getElementById('myVideo').src = "https://www.youtube.com/embed/BfOdWSiyWoc";
}

它运行良好。注意:xhttps.responseText与该链接相同。

相关HTML:

<iframe id="myVideo" width="420" height="345"
   src="http://www.youtube.com/embed/XGSy3_Czz8k">
</iframe>

我认为问题是你在xhttp.responseText 中得到了一个引用的url