在我的應用程序開始時,我需要發送三個ajax get(Dojo xhrGET)請求,但問題是我需要從第一個處理數據時發送第二個數據,當我從第二個數據處理數據時發送第三個數據(順序很重要!) 。我把這個請求放在其他的後面,但它有時不起作用。如何同步和解決這個問題,有沒有什麼辦法像Java一樣鎖定或等待?如何在處理來自請求的數據之前發送ajax請求?
0
A
回答
1
如果您使用的是1.6,請查看新的Promises API(由dojo.xhrGet
返回),或使用1.5中的延遲。他們提供了一個「整潔」的方式來實現這一點。
從本質上講,你可以寫:
dojo.xhrGet({
url: './_data/states.json',
handleAs: 'json'
}).then(
function(response) {
// Response is the XHR response
console.log(response);
dojo.xhrGet({
url: './_data/'+response.identifier+'.json',
handleAs: 'json'
}).then(
function(response2) {
// The second XHR will fail
},
// Use the error function directly
errorFun
)
},
function(errResponse) {
// Create a function to handle the response
errorFun(err);
}
)
var errorFun = function(err) {
console.log(err);
}
瞭解更多信息
見 http://dojotoolkit.org/documentation/tutorials/1.6/deferreds/和 http://dojotoolkit.org/documentation/tutorials/1.6/promises/
1
您可以使用選項sync
= true
,並將請求放在其他之後。這樣,第3名將在第1名之後的第2名之後發送。 或者您可以在第一次使用加載函數完成後發送第二個請求。 例子:
dojo.xhrGet({ //1st request
load: function(){
dojo.xhrGet({ //2nd request
load: function(){
dojo.xhrGet({ //3nd request
});
}
});
}
});
欲瞭解更多信息:http://dojotoolkit.org/reference-guide/dojo/xhrGet.html
0
我們能夠在第一請求的成功回調方法的第二個Ajax請求: $阿賈克斯({
'type' : 'get', // change if needed
'dataType' : 'text', // data type you're expecting
'data' : { 'className' : divClass },
'url' : url,
'success' : function(newClass) {
//make the second ajax request...
}
} );
並對第三個請求做同樣的事情。
相關問題
- 1. 處理來自AJAX請求的數據
- 2. jquery ajax請求發送之前發送
- 3. 在發送下一個請求之前取消ajax請求? (jQuery)
- 4. 在獲取請求之前發送AJAX請求
- 5. 發送Ajax請求之前的事件(向請求添加一些數據)
- 6. 如何在發送用戶請求之前注入HTTP請求
- 7. 如何發送ajax請求
- 8. 處理來自Android的發佈請求?
- 9. 處理來自Slack的發佈請求
- 10. 處理Ajax請求
- 11. 發送ajax請求
- 12. 發送Ajax請求
- 13. AJAX請求不發送請求
- 14. 處理來自ajax請求返回的數據,但在回調函數之外
- 15. 如何在發送之前將數據附加到XHR請求?
- 16. 如何在發送AJAX請求之前捕獲#select1和#select2值?
- 17. 處理具有多個ajax請求的「大數據json請求」
- 18. AJAX:同步處理來自數據庫的請求
- 19. PHP在發送請求之前是否驗證WSDL請求?
- 20. 如何在處理請求後向數據庫發送查詢?
- 21. 在發送新消息之前終止先前的ajax請求
- 22. 在發送之前打印URLConnection請求
- 23. 在發送之前預覽CURL請求
- 24. 僅當來自之前ajax請求數據的項目不匹配時,Jquery自動完成ajax請求
- 25. Codeigniter和來自ajax請求的數據
- 26. 如何在發送到Web服務之前清理xml請求
- 27. jQuery .ajax在發送請求之前調用成功函數
- 28. 與AJAX請求發送圖像數據
- 29. Greasemonkey AJAX請求沒有發送數據?
- 30. 如何處理JSON repsonse在Ajax請求