你应该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