php - Uncaught Error : InvalidStateError: DOM Exception 11 with AJAX?

标签 php javascript ajax

我正在运行一个简单的 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。

引用:

why does this piece of js throw a DOM Exception?

关于php - Uncaught Error : InvalidStateError: DOM Exception 11 with AJAX?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15398571/

相关文章:

php - 防止php使用默认用户名和密码到mysql

javascript - 我可以在控制台中打印该值,但不能在 html View 中打印该值

javascript - 通过单击外部叠加层关闭叠加层,在叠加层处于事件状态时突出显示叠加层按钮

javascript - 如何在提交按钮上使用ajax实现Google Adwords "conversion pixel"(无 "thank you"页面)

javascript - 检测ajax请求到正常请求 Node js

php - 即使已调用 Controller ,也不会触发 CodeIgniter 索引函数

php - 使用 PHP 将多个文件路径保存到 mysql

javascript - js : default function of an object

javascript - JSON 与 JavaScript 对象数组。为什么第二种方法的结果与第一种方法不同?以及如何实现这一目标?

php - PHP自定义错误处理程序: How to determine if exception was generated within try{}catch{} block?