Javascript 为什么我必须将一个函数包含在另一个函数中?
当我用JSON编写一个函数时,为什么我必须将它封装在一个匿名函数中 这是有效的:Javascript 为什么我必须将一个函数包含在另一个函数中?,javascript,ajax,jquery,Javascript,Ajax,Jquery,当我用JSON编写一个函数时,为什么我必须将它封装在一个匿名函数中 这是有效的: $.ajax({ type: 'POST', url: 'http://www.myurl.com', data: data, success: function(data) { alert(data); } }); $.ajax({ type: 'POST', url: 'ht
$.ajax({
type: 'POST',
url: 'http://www.myurl.com',
data: data,
success: function(data) {
alert(data);
}
});
$.ajax({
type: 'POST',
url: 'http://www.myurl.com',
data: data,
success: alert(data)
});
这不起作用:
$.ajax({
type: 'POST',
url: 'http://www.myurl.com',
data: data,
success: function(data) {
alert(data);
}
});
$.ajax({
type: 'POST',
url: 'http://www.myurl.com',
data: data,
success: alert(data)
});
简而言之,谢谢,因为您正在执行alert()
并试图将结果分配给success
回调,所以这不会起作用(alert()
的结果是未定义的)。但是,您可以这样做:
在这种情况下,customFunc
将接收与success
传递相同的参数,因此它的签名应该是:customFunc(data,textStatus,XMLHttpRequest)
,尽管它可以是一个子集,例如customFunc(data)
您可以这样做。您只是使用了错误的语法
success
属性需要一个函数表达式而不是一个函数()调用(然后将值返回到success
)
所以
而不是
success: myfunction()