Ajax调用始终返回readystate 1和status 0

时间:2015-02-13 16:12:41

标签: php html ajax

我正在尝试一个简单的ajax调用。 test.php只是回显了一些文字。但是ajax调用总是返回readyState 1和status 0.这是我用于ajax调用的一段代码。

<html>
<head>
<script>
    function showData()
    {
        var xhr;
        if(window.XMLHttpRequest)
        {
            xhr = new XMLHttpRequest();
        }
        else
        {
            xhr = new ActiveXObject(Microsoft.XMLHTTP);
        }



        xhr.onreadystatechange = function(){

            if(xhr.readyState==4 && xhr.status==200)
            {
                document.getElementById('data').innerHTML = xhr.responseText;
            }
            else
            {

                var content = document.getElementById('data').innerHTML;
                document.getElementById('data').innerHTML = content + 'ERROR with ready state '+xhr.readyState+' and status of '+xhr.status+'<br>';
            }
        }

        xhr.open('GET','test.php',true);
        send(null);


    }
</script>
</head>

<body>
<input type="submit" value="Get Data" onClick="showData()" />
<span id="data" ></span>
</body>
</html>

感谢您的期待。

1 个答案:

答案 0 :(得分:0)

你必须调用xhr.send()方法。

xhr.send();

readyState为1意味着刚刚设置了xhr请求,因为你有xhr.open()。如果调用xhr.send(),则其他状态开始起作用。