多个ajax调用成功使用不同的vars

时间:2013-03-29 07:29:29

标签: jquery ajax variables

  

更新:问题发生在其他地方。我做了3个具有相同属性的调用。因此,如果您在$ .ajax

之前遇到相同的问题检查属性值

我有 jQuery ajax调用

function foo(someVar){
    $.ajax({
        dataType: "json",
        url: 'http://some.json?callback=?',
        success: function(data){
            alert(someVar);
        }
    });
}

如果要多次通话

getPriceByRoute('a');
getPriceByRoute('b');
getPriceByRoute('c');

将通过c获得3个提醒。

如何将someVar发送到成功功能?

试图做:

function foo(someVar){
    $.ajax({
        dataType: "json",
        //
        myVars:{someVar:someVar},
        //
        url: 'http://some.json?callback=?',
        success: function(data){
            alert(this.myVars.someVar);
        }
    });
}

但结果相同。

在上一种情况下,我可以在上次加载后发送每个下一个请求,但希望还有其他好的解决方案。

1 个答案:

答案 0 :(得分:2)

使用context

中的$.ajax选项
$.ajax({
    ...
    context: {someVar:someVar}, // sets the value of "this" inside the success function
    ...
    success: function(data){

        // "this" is {someVar:someVar}, as set via the context option
        alert(this.someVar);
    }
});