2009-09-04 4 views
1

次のように書くのが良いですか?2つのサービスコールでjquery ajax

私には2つのサービスがあります。

2番目の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); 
     } 
    }); 
} 

答えて

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); 
    }); 
}); 
+0

+1それは合理的にエレガントなソリューションです。 – cletus

関連する問題