2014-10-16 66 views
0

我要鏈接getJSON請求.when

代碼類似於此:

$.when($.getJSON(url0),$.getJSON(url1), $.getJSON(url2)).done(function() { 
    $.each(arguments, function(index, result) { … 

我怎麼可以這樣寫,所以如果該URL集包含URL3或URL4以上或僅URL0它可以繼續嗎?

我將url變量存儲在文件或本地存儲中。

+0

你可以創建一個數組,並且你可以在$ .When – 2014-10-16 17:00:50

+0

中處理該數組值。謝謝。例? – user1452893 2014-10-16 17:02:22

+0

好的等待讓我回答 – 2014-10-16 17:12:51

回答

2
var list = ['obj1', 'obj2', 'obj3', 'obj4', 'obj5']; 
    var callback = function() { 
    console.log("done"); 
    }; 
    var requests = []; 

    for(i = 0; i < list.length; i++) { 
     requests.push($.ajax({ 
     url: 'url', 
     success: function() { 
      console.log('suc'); 
     } 
     })); 
    } 

    $.when.apply(undefined, requests).then(function(results){callback()}); 

你可以給我一些更多的細節,所以我可以加載在陣列可以告訴你它是如何工作

的jsfiddle DEMO:http://jsfiddle.net/MBZEu/4/

,或者你可以嘗試

var urlArr = ['url1', 'url2', 'url3', 'url4', 'url5']; 
    var callback = function() { 
    console.log("done"); 
    }; 
    var requests = []; 

    for(i = 0; i < urlArr.length; i++) { 
     requests.push($.getJSON(urlArr[i])); //or something similar which can push url in array 
    } 

    $.when.apply(undefined, requests).then(function(results){callback()}); 

或使用此查看最新消息請求

requests.push($.getJSON(urlArr[i], function(res){console.log(res)})); 
+0

謝謝,會試試這個。我在本地存儲中存儲了一個用於構建實際URL的值。像這樣工作:[JSON.parse(window.localStorage.getItem('item:1'))。url]。 – user1452893 2014-10-16 17:21:29

+0

嘖嘖,爲什麼在這個世界上,有人甚至在嘗試之前就會低估它呢? – user1452893 2014-10-16 17:23:10

+0

是原件是不正確的\ – 2014-10-16 17:23:54

相關問題