【发布时间】:2018-01-03 04:52:05
【问题描述】:
我被教导说,一个带参数的函数只有在我传递参数时才能被调用,但最近我进入了这个 Jquery-Ajax 事情,事情看起来有点不同。教程中的一个示例是这样做的:
$("#div1").load("demo_test.txt", function(responseTxt, statusTxt, xhr) {
if (statusTxt == "success")
alert("External content loaded successfully!");
if (statusTxt == "error")
alert("Error: " + xhr.status + ": " + xhr.statusText);
});
注意到带有三个参数的函数了吗?是的,那个。令人困惑的是,它的参数显然是从无处传递/映射的,但它已在 IF 和 alert 中使用,并且可以正常工作。如何 ?我是说怎么做?
【问题讨论】:
-
它们是从
load函数传递过来的。load以callback(responseTxt, statusTxt, xhr)之类的结尾,其中callback是您在上面定义的函数。这是一个简单的回调示例:jsfiddle.net/5gu37wo7 -
如果你检查 jQuery 源代码,你可以看到函数是从哪里调用的:j11y.io/jquery/#v=1.11.2&fn=jQuery.fn.load。对于那些懒得点击的人来说,它是 AJAX 请求的
complete处理程序:)
标签: javascript jquery html ajax web-frontend