你應該callbacks工作(這些功能,當事情結束時觸發 - 一個HTTP請求在這種情況下) 如果你使用jQuery,你可以使用此代碼:
$.ajax(
{
type:'GET',
url:'/someurl',
data:"someData=12345&someOtherData=foo",
success: function(data){
// do something - for instance your second http request
},
error : function(data){
//something didnt went quite well
}
}
);
當你不使用jQuery,this function可能會派上用場(如果你想在第一個例子中添加類似的數據,你必須查詢字符串添加到URL參數):
function callAjax(url, callback){
var xmlhttp;
// compatible with IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
callback(xmlhttp.responseText);
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
您可以交叉的地方CAL直到你進入最後的重定向呼叫。但要注意,你不希望在callback hell
所以你想在所有的http請求返回後重定向? – chchrist
@chchrist是!但我也擔心它會使頁面B「加載」得太慢 –
如果您不構建單頁面應用程序,您可以只加載部分頁面而無需重定向,那麼這總是一個問題... – chchrist