我正在学习javascript课程,但无法理解我的下面示例如何使用“正确的东西”填充参数,因为我实际上没有调用具有相应元素的函数?
success: function(result) {
$('myElement').html(result);
}
猜猜我错过了某种默认行为吗?
希望有人可以帮助我顺利完成。 / Kristofer Guldvarg
答案 0 :(得分:1)
这看起来像一个回调。因此,另一个函数负责在某个时刻调用它并传递result
。
所以你要调用一个带success
函数的函数。你说的是“嘿,当你完成这件事之后,请打电话给我给你的这个成功函数,并请给你result
你想出的。
答案 1 :(得分:1)
让我们简化jQuery的定义方式(非常好奇的可以看到实际的AJAX实现here);
var jQuery = {
ajax: function (obj) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
obj.success(this.textContent);
}
}
xhr.open(obj.url, 'GET', false);
xhr.send(null);
}
};
当你这样做时;
jQuery.ajax({
url: '/foo.php',
success: function (response) {
$('myElement').html(result);
}
});
.. jQuery可以使用obj.success
调用成功函数,传递它所需的任何数据(在本例中为this.textContent
)。
你不是调用这个功能;您正在定义一个函数,并将其传递给其他地方,并允许它们稍后调用它,并传递它们想要的信息。
答案 2 :(得分:0)