我想查询按钮点击触发的服务器。调用该函数并启动aync请求。大多数情况下,readyState达到4,有时只有2 - 但状态始终为0。 onerror函数总是触发,但(正如许多其他人所经历的那样)没有提供有关该问题的大量信息。
function getServiceVal() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "/myservice?param=1"));
xmlhttp.onreadystatechange=function() {
console.log("-->" + xmlhttp.readyState + ", " + xmlhttp.status)
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
console.log(xmlhttp.responseText.length)
}
};
xmlhttp.onerror = function(e) {
console.log('There was an error! - ' + xmlhttp + ", " + e + ", ");
};
xmlhttp.send(null);
};
我也尝试了onload功能 - 没有取得进一步的成功。有谁知道问题可能在哪里? CORS不应该是因为我使用相对路径。 我在localhost上测试,URL是“http://localhost:8042/servicetest.html”
代码段的输出始终如下:
-->2, 0
-->4, 0
There was an error! - [object XMLHttpRequest], [object ProgressEvent],
-->2, 0
-->2, 0
-->4, 0
There was an error! - [object XMLHttpRequest], [object ProgressEvent],
非常感谢任何帮助&提示!
*****突发新闻*****
在javascript代码上花了好几个小时后,我看了一下调用它的html代码。这真的有所不同。最初我使用了一个表单(因为我想交出参数)并在submit事件中调用javascript。 现在我换成了一个简单的按钮 - tadaa - 它有效。不过我不知道为什么:
<!--form onsubmit="getServiceVal()">
<input ref="input"/>
<button>Get Value</button>
</form-->
<input type="button" value="This Button!" onclick="getServiceVal();">
这现在有效,前者在评论中没有。我不知道那种电话会产生这样的影响。