jquery ajax有两个服务调用

时间:2009-09-04 03:36:53

标签: jquery ajax

有没有更好的写下面的内容?

我需要调用两个服务。

需要第一个服务返回的数据来创建第二个ajax调用的URL。

    $.ajax({
        url: 'http://service',
        type: 'GET',
        dataType: 'json',
        timeout: 1000,
        error: function(){
            alert('Error loading json document');
        },
        success: function(json){
            processJson(json.foo);
        }
    });


    function processJson(url) {

    $.ajax({
        url: url,
        type: 'GET',
        dataType: 'json',
        timeout: 1000,
        error: function(){
            alert('Error loading json document');
        },
        success: function(json){
                displayJson(json.foo);
        }
    });
}

1 个答案:

答案 0 :(得分:3)

不,那就是我怎么做的。也许我会使用一些内置的inn ajax函数,或者创建一个预设了这些参数的函数:

function ajax(url, error, success){
  $.ajax({
    url: url,
    type: 'GET',
    dataType: 'json',
    timeout: 1000,
    error: function(){
      alert('Error loading json document');
    },
    success: success,
  });
}


ajax('http://service', function(json){
  ajax(json.foo, function(json){
    displayJson(json.foo);
  });
});