错误:INVALID_STATE_ERR:DOM异常11打破了我的AJAX?

时间:2010-12-14 01:23:37

标签: php javascript html ajax xmlhttprequest

这个错误会破坏我的代码吗?我在准备状态1中得到它。

相关的HTML代码:

<input type="button" value="Log In" onclick="login()" class="submit" />

相关的Javascript:

function login() {
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function () {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("headSpan").innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open("POST", "logIn.php", true);
        xmlhttp.send("usr=bob");
    }

的login.php:

<?php
echo $_POST['usr'];
?>

然后,xmlhttp.responseText为“”。如果它正在做我认为应该做的事情,我会得到'bob';

提前致谢。

编辑:此错误定义为“如果尝试使用不可用或不再可用的对象”。仅供参考。

1 个答案:

答案 0 :(得分:0)

找到解决方案:

var params = "usr=bob";
        xmlhttp.open("POST", "logIn.php", true);
        xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlhttp.setRequestHeader("Content-length", params.length);
        xmlhttp.setRequestHeader("Connection", "close");
        xmlhttp.send(params);

显然,请求标题不会像我假设的那样自动为PHP工作(并且没有证据可以阻止我这种信念)。无论如何,非常简单的解决方案,但仍然令人沮丧。只是为了获得额外的信息:运行WAMP(不是预先构建的东西,缩写)。 Apache 2.2,PHP 5.3.3。