我在这个地址发布了问题how to make ajax request async?如何让ajax请求异步,比如两个请求?
,但我还没有收到好的答案。
在您回答这个问题之前,您可以查看上面的网址以查看其他人的答案。
我希望有人能解决我的问题。
我想做一些异步的ajax请求。比如两个阿贾克斯,第阿贾克斯并不需要完成,第二个请求可以发生
$.ajax({
url: "urlone",
async: true,
complete: function() {
console.log("1");
},
type: "post",
dataType: "json"
});
console.log("2");
$.ajax({
url: "urltwo",
async: true,
complete: function() {
console.log("3");
},
type: "post",
dataType: "json"
});
我想要做一些Ajax请求的异步。比如两个Ajax,第一个Ajax不需要完成,第二个请求可以发生,
在urlone背景中,我让线程睡了5秒,并在urltwo背景中我立即返回json。
我写这篇文章,但没有效果,我希望控制台打印2 3 1
但实际上,它打印2 1 3
这显示第二个请求只能在第一次请求后触发返回
如何解决这个问题?
添加在2月6日:感谢您的热情回答。我的服务器端是C#和urlone我写
JsonModel xx=new JsonModel(){.......}; //as you known
System.Threading.Thread.Sleep(5000);
return Json(xx);
在urltwo我写
JsonModel xx=new JsonModel(){.......}; //as you known
return Json(xx);
这就是它!
我想这是因为我在urlone执行一个非常耗时的操作,当我从urlone返回时,前端已经失去响应,即使我设置了一个非常大的ajax等待时间。所以我想查询urlone中的操作是否通过请求urltwo完成,urltwo是为查询数据库完整字段标志设计的在urlone中进行操作。这是我的想法。
但是今天我发现了一个新问题,当我睡了很长时间的后台线程,然后把json数据返回前台,前台可以响应并完成了一些js功能,但是当我在urlone中执行非常耗时的操作时背景,当它回到前面时,前面没有反应。肯定有一些问题我还没有意识到,所以
这看起来完全一样,你以前的帖子...请注意,这篇文章没有解决您对使用什么服务器技术的答案的担忧... –