0

更新:问题出在其他地方。我用相同的属性打了 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');

将收到 3 个警报c

如何发送我someVar的成功功能?

试图做:

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

但同样的结果。

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

4

1 回答 1

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);
    }
});
于 2013-03-29T07:30:52.153 回答