我正在运行一个简单的 AJAX 请求:
function makePages(num) {
var conn = new XMLHttpRequest();
conn.onreadystatechange = function() {
if (conn.status === 200 && conn.readyState === 4) { //error here
$('#oldPost').before(conn.responseText);
}
else{
return
}
}
conn.open('GET','includes/feedExtra.php?num=' + num);
conn.send();
}
代码运行正确,PHP 返回正确的内容。但是,Chrome 的控制台出现错误:
Uncaught Error: InvalidStateError: DOM Exception 11
它指向这一行:
if (conn.status === 200 && conn.readyState === 4) {
我做错了什么?
最佳答案
错误:
Uncaught Error: InvalidStateError: DOM Exception 11
表示您在错误的状态下请求状态。 conn.status 在 readyState 为 0 或 1 期间不可用。
您的问题是当 readyState 为 0 和 1 时您正在使用 conn.status。
您需要添加代码以确保不会在不适当的状态下查询 conn.status,如下所示:
if(conn.readyState === 4 && conn.status === 200){
那么你的代码只会在适当的时候查询conn.status。
引用:
关于php - Uncaught Error : InvalidStateError: DOM Exception 11 with AJAX?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15398571/