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

07-28 09:44