gpt4 book ai didi

php - XMLHttpRequest ReadyState 始终未定义

转载 作者:可可西里 更新时间:2023-10-31 23:56:01 25 4
gpt4 key购买 nike

我正在学习 w3schools 的 PHP/AJAX 教程,但在第一个方面遇到了一些障碍。每次调用此函数时,就绪状态始终未定义。

function showHint(str) {
if (str.length == 0) {
document.getElementById("txtHint").innerHTML = "";
return;
}

var xmlhttp;

if (window.XMLHttpRequest) {
console.log("Using XMLHttpRequest");
xmlhttp = new XMLHttpRequest();
}
else {
console.log("Using ActiveXObject");
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.open("GET", "gethint.php?q=" + str, true);
xmlhttp.send();

xmlhttp.onreadystatechange = function() {
console.log(xmlhttp.readystate);

if (xmlhttp.readystate == 4 && xmlhttp.status == 200) {
console.log(xmlhttp.status);
document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
}
}
}

如果我改变这一行:

if (xmlhttp.readystate == 4 && xmlhttp.status == 200) { ...

为此(通过打字错误):

if (xmlhttp.readystate = 4 && xmlhttp.status == 200) { ...

然后它就可以工作了,但是像这样编写代码感觉有点像“这里发生了魔法”。

最佳答案

JS 区分大小写。您需要检查 readyState 属性,而不是 readystate 属性。

    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
console.log(xmlhttp.status);
document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
}

关于php - XMLHttpRequest ReadyState 始终未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13636612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com