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

时间:2016-04-18 15:25:03

标签: javascript html ajax asynchronous

所以我有一个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属性,它做了一个奇怪的获取请求到服务器,我得到一个错误404(正常,因为在app.use()处理请求不是&#39 ; t支持我指定显示该错误)。它应该只是更改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>

1 个答案:

答案 0 :(得分:1)

我认为问题是您在xhttp.responseText

中获得了引用的网址