2017-07-04 93 views
0

好吧,經過廣泛的網絡搜索和幾年未能理解文檔和尋找替代解決方案,我來找你問我應該如何去解決我的問題。

注:每個AJAX請求都具有唯一的成功功能。

其中一個建議的類似問題是 - How to loop through Ajax Requests inside a JQuery When - Then statment? - 這與我所需要的類似,儘管與我獨特的成功回調不兼容?

$.when(

    $.ajax({ 
    url: '/-.json', 
    method: 'get', 
    dataType: "jsonp", 
    complete: function(r) { 

     //my stuff 

    } 
    }), 

    $.ajax({ 
    url: '/-.json', 
    method: 'get', 
    dataType: "jsonp", 
    complete: function(r) { 

     //my stuff 

    } 
    }) 

).then(function() { 

    console.log('leggo'); 

}); 

我根據我的CSS-Tricks article解決方案,但執行console.log是從來沒有發射,雖然AJAX請求是。

感謝

+0

如果這些是靜態的json資源,它們不太可能被設置爲返回'jsonp'。外部數據結構是什麼樣的?如果他們是遠程api調用請確保api服務jsonp。檢查瀏覽器開發工具網絡中的實際請求以獲取線索 – charlietfl

+0

@charlietfl它不是JSON - 以前我正在提出個別請求等。 –

+0

因此,每個請求使用完全相同的'$ .ajax'工作? – charlietfl

回答

0

答案是dataType,作爲@charlietfl建議。我不知道爲什麼,但是從jsonp改爲json就是答案。它們顯然比明顯的情景用法更加不同。

+0

'jsonp'是一種非常不同的請求類型,它要求返回一個函數,而請求itslef實際上是一個腳本請求,而不是xmlHttpRequest(ajax) – charlietfl