Javascript 为什么jqueryAjax回调函数不';不需要被调用吗?
有人告诉我,只有在传递参数的情况下才能调用带有参数的函数,但最近我接触了jQueryAjax,事情看起来有点不同。教程中的一个示例可以做到这一点:Javascript 为什么jqueryAjax回调函数不';不需要被调用吗?,javascript,jquery,html,ajax,web-frontend,Javascript,Jquery,Html,Ajax,Web Frontend,有人告诉我,只有在传递参数的情况下才能调用带有参数的函数,但最近我接触了jQueryAjax,事情看起来有点不同。教程中的一个示例可以做到这一点: $("#div1").load("demo_test.txt", function(responseTxt, statusTxt, xhr) { if (statusTxt == "success") alert("External content loaded successfully!"); if (statusTxt == "
$("#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中被使用,并且它工作正常。怎样?我是说怎么做 不幸的是,这是不对的, 在JavaScript中,您可以调用正在等待参数的函数,而不发送任何:
函数和(x,y){
警报(x+y);
}
sum()代码>不幸的是,这是不对的,
在JavaScript中,您可以调用正在等待参数的函数,而不发送任何:
函数和(x,y){
警报(x+y);
}
sum()代码>您的第一个假设是错误的,因为:
- JavaScript函数不会对参数值(参数)执行任何检查
- JavaScript函数不检查收到的参数数量
因此,将使用1、2或3个参数(甚至可能是0)调用回调
当呼叫完成时,它将调用您的回调。您的第一个假设是错误的,如下所示:
- JavaScript函数不会对参数值(参数)执行任何检查
- JavaScript函数不检查收到的参数数量
因此,将使用1、2或3个参数(甚至可能是0)调用回调
当调用完成时,它将调用您的回调。它们是从load
函数传递过来的<代码>加载
以类似于回调(responseText、statusTxt、xhr)的内容结束
其中回调
是上面定义的函数。下面是一个简单的回调示例:如果检查jQuery源代码,您可以看到调用函数的位置:。对于那些懒得点击的人来说,这是AJAX请求的complete
处理程序:)他们从load
函数中得到传递<代码>加载
以类似于回调(responseText、statusTxt、xhr)的内容结束
其中回调
是上面定义的函数。下面是一个简单的回调示例:如果检查jQuery源代码,您可以看到调用函数的位置:。对于那些懒得点击的人来说,它是AJAX请求的完整的处理程序:)