如何将变量绑定到jquery ajax请求?

Joe*_*oel 4 javascript data-binding ajax jquery jquery-deferred

这是不言自明的:

while (...) {
    var string='something that changes for each ajax request.';
    $.ajax({'type': 'GET','dataType': 'json', 'url': 'get_data.php'}).done(processData);
}
function processData(data) {
    // get string into here somehow.
}
Run Code Online (Sandbox Code Playgroud)

如你所见,我需要以某种方式string进入processData.我不能创建一个全局变量,因为string每个ajax请求都不同.所以,问题是,我如何绑定string到我的ajax请求,以便我可以从中访问它processData

我真的不想附加string到查询并让服务器返回它,但如果这是我唯一的选择,我别无选择.

提前致谢.

fca*_*ran 6

试试这种方式:

while (...) {

    var str = 'something that changes for each ajax request.';

    (function(_str) {
        $.ajax({'type': 'GET','dataType': 'json', 'url': 'get_data.php'})
         .done(function(data) {
            processData(data, _str);
         });
    }(str));
}

function processData(data, str) {
  console.log(data, str);
}
Run Code Online (Sandbox Code Playgroud)

并没有使用全局变量:)