【发布时间】:2013-10-07 02:07:59
【问题描述】:
这是我的 Lynda.com ajax 课程中的一些代码。
var request = new XMLHttpRequest();
request.open('GET', 'data.txt');
request.onreadystatechange = function()
{
if (request.readyState===4)
{
console.log(request);
document.writeln(request.responseText);
}
}
request.send();
在上一课中,我们检查了 request.status 的值,它没有包装在函数中,并且运行良好。但是现在,没有任何解释,request.readyState 检查必须包含在您在上面看到的函数中,否则它将不起作用。这是怎么回事?
【问题讨论】:
-
其实不需要解释。 request.onreadystatechange 是对象(请求)的属性,它被分配为包含条件的函数。简而言之,它定义了一个评估就绪状态变化的侦听器。你读过关于 XMLHttpRequest 的文档吗? developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest
-
该函数称为“处理程序”。只要触发了 onreadystatechange 事件,它就会执行。
-
@MatthewBlancarte 属性值引用的
Function实例的正确术语是事件监听器。事件handler是调用事件监听器的内部代码;有时该术语用作事件处理程序属性的同义词。 -
@PointedEars 啊,确实,你是对的。好电话。
标签: javascript ajax