AJAX异步响应回调
AJAX asynchronous response callbacks
我使用AJAX已经有一段时间了,但使用的方式有限且简单。我使用JQuery
目前我正在调试一个web应用程序。客户端代码使用JavaScript和JQuery。我注意到,在这个应用程序中,可以同时发出多个AJAX请求(一个接一个)。我担心的是,由于AJAX是异步的,AJAX请求可能无法按正确的顺序完成。我想知道是否将执行适当的AJAX回调,无论哪个响应首先返回,或者回调函数以FIFO方式执行
让我详细说明
我有2 AJAX请求A和B。A和B都有自己的回调函数。应用程序首先发出请求A,然后立即发出请求b。现在应用程序期望A首先返回。现在我的问题是如果B先返回。哪个Call back将被执行?
我做了一些研究,没有找到任何关于这个问题的信息。所以我假设浏览器会协调回调。为了确保我写了一个小测试。我的测试表明,无论哪个响应首先返回,总是首先使用第一个请求回调。
我的问题是什么是行为?还有使用什么技术或方法来避免这种情况。
看看jQuery的promise/deferred对象,它们允许你控制这种行为。
$.when( $.ajax("test.aspx") ).then( $.ajax("test2.aspx") );
http://api.jquery.com/category/deferred-object/正如您所描述的流程-如果请求B先返回,那么它的回调将首先被调用。
您总是可以在第一个ajax请求成功时调用第二个ajax请求,例如:
function callbackA() { return true; }
function callbackB() { return true; }
$.ajax({url: '/my/url', data: {mydata: mydata}, success: function(data) {
callbackA(data);
$.ajax({url: '/my/url2', data: {mydata2: mydata2}, success: function(data) {}
callbackB(data);
});
});
相关文章:
- 如何收集所有发射回调的所有响应
- jQuery post,访问responseType或回调中的响应
- node.js+MySQL;JSON结果-回调问题&没有响应客户端
- 可以't从回调函数内部访问响应
- 回调返回响应,但当在API中发送时,响应在节点JS中显示为空白
- 挂起的回调:在每次回调返回之前返回响应
- Node.JS-如何识别哪个异步HTTPGET响应在回调中返回数据
- 具有一个响应的多个回调-Node JS
- React native:如何将参数传递给手势响应程序回调
- POST 响应未等待回调完成
- Facebook Javascript SDK 响应回调未触发
- GreaseMonkey 和 JQuery AJAX 响应不会以任何形式在回调中幸存下来
- 如何为每个 AJAX 请求/响应事件添加回调
- 节点.js如果我使用 process.send(),请等待回调/响应
- 如何在angularjs中使用factory在GPS检测器函数内部使用$http.post方法时获得回调响应
- 如何在ejb中处理回调响应
- 如何传递javascript回调响应到php
- 向数组添加多个回调响应
- Backbone.Wreqr 请求-响应处理程序的回调响应/状态(完成后)
- Strophejs获得花名册成功回调响应