为了进行调试,我使用的是谷歌浏览器。我不知道我的代码中我做错了什么...我正在做的就是寻找准备状态来改变。它引发了以下错误:
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;
}
})
}
答案 0 :(得分:1)
这是事件,所以你必须为它分配功能,它可以附加多个功能:
connect_to.onreadystatechange = function (){body};
这个()
是调用函数的运算符,如果你把它放在它会尝试运行具有这样名字的函数之后。如果你做Foo()
那么它将尝试找到Foo,如果它找不到它那么它将是错误的。因此,您对ready状态的使用已更改,您希望将方法传递函数作为参数调用它。