在Javascript 中,特别是在AJAX中,回调函数常常是一个函数名,没有地方放入参数,如下面的AJAX代码,在成功后将调用回调函数callback,但callback是有参数的,如何把参数传进来呢?
var callback = function(p1){
//do something
}
var ajaxSetting = {
url: url,
timeout:me.timeout,
type: method,
contentType: "application/json",
dataType: "json",
cache: false,
async: async,
data: p_data,
success: callback
},
error: function(p_request, p_status, p_err) {
}
};
解决的办法是利用匿名函数:
success: function(result){
callback(p1_actual);
}
其中pa_actual是已知的参数,可以是function类型。