一个异步请求中回调再发起一个异步请求,第二个异步请求的回调函数不能执行,哪位高人解释一下
见代码,使用的jquery的ajax请求function test(){
$.get("/a",function(data){
alert("a");//可以触发
$.get("/b",function(data){
alert("b");//不能触发
});
});
}
见代码,使用的jquery的ajax请求function test(){
$.get("/a",function(data){
alert("a");//可以触发
$.get("/b",function(data){
alert("b");//不能触发
});
});
}
2、如果排除1的可能,将库版本修改到jquery-1.6.2试试
能返回json,那我不明白你的错误在什么地方》
function test(){
$.get("/a",function(data){
alert("a");//可以触发
alert(data);
again(data);
});
}function again(data){
$.get("/b",function(data){
alert("b");//不能触发
});
}
newajax("/a", function (data) {
alert("a"); //可以触发
newajax("/b", function (data) {
alert("b"); //可以触发
});
});
}
function newajax(url, callback) {
var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
callback(xmlhttp.responseText);
}
};
xmlhttp.open("GET", url, true);
xmlhttp.send();
}不知道为什么会这样,看样子得看看jquery的源码
function test() {
newajax("/a", function (data) {
alert("a"); //可以触发
setTimeout(function(){
newajax("/b", function (data) {
alert("b"); //可以触发
});
},0)
});
}