是否可以通过Ajax请求将数据传递给没有全局变量的回调函数?
例如这个请求函数应该通过回调函数传递passData,该函数也应该获得正常的响应数据?
function rquest(callback, passData){
$.ajax({
type: "POST",
url: someURL,
success: callback(passData)
});
};
function myCallback(data, passData){
var responseData = data;
var SomeOtherData = passData
//do Something
};
rquest(myCallback, "Hello World");
因此,“ Hello World”应该位于passData中,数据应该是服务器的正常响应...如果我这样做,则数据为“ Hello World”并且passData是未定义的。
最佳答案
将对调用的调用包装到匿名函数中。尝试这个:
function rquest(callback, passData){
$.ajax({
type: "POST",
url: someURL,
success: function(data) {
callback(data, passData)
}
});
};
function myCallback(data, passData) {
var responseData = data;
var SomeOtherData = passData
//do Something
};
rquest(myCallback, "Hello World");