如何使用jQuery.when()从第一个cal进行第二次调用

时间:2014-04-03 19:53:38

标签: jquery ajax

Jquery提供jQuery.when()函数如下。 inquiryId是第一次打电话

$.when( $.ajax( "http://localhost:50006/odata/Inquiry" ), $.ajax( "http://localhost:50006/odata/Inquiry?$filter=Id eq '" + inquiryIdFromTheFirstCall + "'" ) ).done(function( a1, a2 ) {
  // i want to get the id of an Inquiry from the fist call and make the second call with it 
});

我怎么能做到这一点?

2 个答案:

答案 0 :(得分:1)

你不需要$ .when,只需使用第一个请求的成功。

$.ajax( "http://localhost:50006/odata/Inquiry" ).done(function(a1) {
    $.ajax("http://localhost:50006/odata/Inquiry?$filter=Id eq '" + a1 + "'").done(function(a2) {
        // do something with a2
    });
});

我希望url param不会直接插入到sql查询中。

答案 1 :(得分:0)

U可以使用.then链接它们,然后先拨打电话,然后继续进行第二次通话。第一次调用后,你可以在第二次调用时使用它的结果。

    $.ajax({...}).then(function(){
        return $.ajax({...});
    }).then(function(){
        return $.ajax({...});
    }).then(function(){
        return $.ajax({...});
    }).then(function(){
        return $.ajax({...});
    });