是否可以通过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");