错误:onreadystatechange不是函数

时间:2013-12-31 06:56:10

标签: javascript xmlhttprequest

为了进行调试,我使用的是谷歌浏览器。我不知道我的代码中我做错了什么...我正在做的就是寻找准备状态来改变。它引发了以下错误:

TypeError:对象#的属性'onreadystatechange'不是函数

以下是代码:

function startup() {
// For fetching without refresh
// Define new connection
var connect_to = new XMLHttpRequest();
// Open it with the necessary details
connect_to.open('GET', 'light.php?function_id=2');
// Send it
connect_to.send();
// Now, when it comes back, evaluate it for it's ready state and status (readyState equalling 4 and status equalling 200)
connect_to.onreadystatechange(function () {
    if (connect_to.readyState == 4 && connect_to.status == 200) {
        // Declare where this is going to be put
        var plant_into = document.getElementById('intendedContent').innerHTML;
        // Put the recieved text into it
        plant_into = connect_to.responseText;
    }
})
}

1 个答案:

答案 0 :(得分:1)

这是事件,所以你必须为它分配功能,它可以附加多个功能:

connect_to.onreadystatechange = function (){body};

这个()是调用函数的运算符,如果你把它放在它会尝试运行具有这样名字的函数之后。如果你做Foo()那么它将尝试找到Foo,如果它找不到它那么它将是错误的。因此,您对ready状态的使用已更改,您希望将方法传递函数作为参数调用它。