Javascript 服务器不使用get方法响应xmlHTTP请求

Javascript 服务器不使用get方法响应xmlHTTP请求,javascript,Javascript,我正在和arduino一起做一个项目,我用XMLHttprequest方法向arduino板上的服务器发送不同的请求,并从网页获取。除了一个请求外,其他请求仅用于向服务器发送订单,因此我不希望出现XML响应。另一个是以5秒为间隔发送的请求,用于从服务器获取不同的值 最后一个问题出现了。实际上,该网页发送请求是因为我每5秒在浏览器控制台和arduino串行监视器上看到一次请求,但它没有得到任何信息,只有确认响应的答案标题,而没有关于XML文件的任何信息。令人惊讶的是,当我在浏览器中使用get方法编

我正在和arduino一起做一个项目,我用XMLHttprequest方法向arduino板上的服务器发送不同的请求,并从网页获取。除了一个请求外,其他请求仅用于向服务器发送订单,因此我不希望出现XML响应。另一个是以5秒为间隔发送的请求,用于从服务器获取不同的值

最后一个问题出现了。实际上,该网页发送请求是因为我每5秒在浏览器控制台和arduino串行监视器上看到一次请求,但它没有得到任何信息,只有确认响应的答案标题,而没有关于XML文件的任何信息。令人惊讶的是,当我在浏览器中使用get方法编写一个普通请求时,我会立即得到带有值的XML文件,而且每次我这样做时都会发生这种情况

我将编写我在网页上使用的javascript代码

setInterval(function tiempo()
{
    var request = new XMLHttpRequest();
    request.onreadystatechange = function()
    {
        if (this.readyState == 4) {
            if (this.status == 200) {
                if (this.responseXML != null) {
//                  extract XML data from XML file (containing switch states and analog value)
                    document.getElementById("input1").innerHTML = this.responseXML.getElementsByTagName('dato')[0].childNodes[0].nodeValue;
                    document.getElementById("input2").innerHTML = this.responseXML.getElementsByTagName('dato')[1].childNodes[0].nodeValue;
                    document.getElementById("input3").innerHTML = this.responseXML.getElementsByTagName('dato')[2].childNodes[0].nodeValue;
                    document.getElementById("input4").innerHTML = this.responseXML.getElementsByTagName('dato')[3].childNodes[0].nodeValue;
                    document.getElementById("input5").innerHTML = this.responseXML.getElementsByTagName('dato')[4].childNodes[0].nodeValue;
                    document.getElementById("input6").innerHTML = this.responseXML.getElementsByTagName('dato')[5].childNodes[0].nodeValue;
                    document.getElementById("input7").innerHTML = this.responseXML.getElementsByTagName('dato')[6].childNodes[0].nodeValue;
                }
            }
        }
    }
    request.open("GET", "URL" + Math.random(), true);
    request.send(null);
}
, 5000);
另一方面,如果我只在浏览器URL中写入,那么我可以毫无问题地获取XML

我要说的最后一件事是,现在我正在使用一个储存在电脑中的网页,但之前我使用的是一个储存在arduino SD卡上的网页,该网页也是通过互联网从arduino加载的。在这种情况下,同样的代码工作得非常好。我之所以改变它,是因为arduino以太网速度不太快,而且花了很多时间。有了存储在我电脑中的网页,它运行得更快,因为它只需要发送订单


谢谢

最后,我解决了这个问题。它是浏览器。出于任何原因,只有Internet Explorer才能正确处理该网页。firefox和其他web浏览器都没有得到xml文件。我不知道原因,但我想找到它

如果有人知道一些关于我的事情,我会很高兴尝试解决这个问题


谢谢

不!!我用它来编纂这篇文章。url是服务器的de地址。它写得很好,因为网页发送请求并获得响应,但没有XML文件。如果发送请求,问题不在于JS代码。找出浏览器发出的普通请求与JS发出的XHR之间的区别。服务器对这些请求的响应是不同的,我已经查看了请求,唯一的区别是xml请求在名为Origin的部分中发送null。是吗?我不这么认为。。。URL完全相同?那随机的呢…随机的只是为了避免缓存。我试着不用它,什么也没发生。Arduino在请求中查找一个单词以发送响应,在这两种情况下,它都会这样做,但在xml请求中,它只发送响应的标题,而不发送xml文件的内容。这就是问题所在。