我正在尝试一个简单的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>
感谢您的期待。
答案 0 :(得分:0)
你必须调用xhr.send()方法。
xhr.send();
readyState为1意味着刚刚设置了xhr请求,因为你有xhr.open()。如果调用xhr.send(),则其他状态开始起作用。