javascript xmlhttprequest始终获取状态0

时间:2018-05-13 00:58:36

标签: javascript xmlhttprequest runtime-error

我想查询按钮点击触发的服务器。调用该函数并启动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();">

这现在有效,前者在评论中没有。我不知道那种电话会产生这样的影响。

0 个答案:

没有答案