php – 未捕获错误:InvalidStateError:使用AJAX的DOM异常11?

前端之家收集整理的这篇文章主要介绍了php – 未捕获错误:InvalidStateError:使用AJAX的DOM异常11?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在运行一个简单的 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

意味着您要求状态处于错误状态.在readyState为0或1期间,conn.status不可用.

你的问题是当readyState为0和1时你正在使用conn.status.

您需要添加代码以确保在不适当的状态下不查询conn.status,如下所示:

if(conn.readyState === 4 && conn.status === 200){

那么你的代码只会在适当的时候查询conn.status.

参考:

why does this piece of js throw a DOM Exception?

猜你在找的PHP相关文章