为什么用以下JS代码调用两个ajax请求
Why two ajax request is called with following JS code?
我有以下代码从服务器中提取数据。我想在document.ready()上调用它。我希望第一个请求是向服务器发出的,得到响应,第二个请求是发出的,依此类推
但我在Firebug中看到,在初始页面加载时有两个对服务器的请求。我不知道为什么两个要求。这是我的密码。
;var EVENTS = {};
;(function($) {
EVENTS.Collector = {
events: [],
getEventsData: function() {
var postData = {
'jsonrpc': '2.0',
'id': RPC.callid(),
'method': "events.getNewOrUpdated",
'params': {},
'auth': RPC.auth()
};
var events_request = $.ajax({
url: RPC.rpcurl(),
contentType: 'application/json-rpc',
type: "POST",
data: JSON.stringify(postData),
timeout: 30000
});
events_request.done(function(results) {
//console.log("Info " + results);
if (results.result.result !== null) {
if (EVENTS.Collector.events.length !== 0) {
alert(EVENTS.Collector.events.length);
} else {
alert(EVENTS.Collector.events.length);
}
}
});
events_request.fail(function(results) {
//console.error("Error " + results);
$("Error Message").insertAfter('.error');
});
events_request.always($.proxy(this.getEventsData, this));
}
};
})(jQuery);
EVENTS.Collector.getEventsData(); //function call
提前感谢
如果删除下面的代码,它会调用吗?
EVENTS.Collector.getEventsData(); //function call
async: false
添加到ajax调用参数即可发送同步请求。
试一下下面的片段,如果这是你想要做的。。??。
var events_request = $.ajax({
url: RPC.rpcurl(),
contentType: 'application/json-rpc',
type: "POST",
async: false,
data: JSON.stringify(postData),
timeout: 30000
});
考虑同步请求导致解释器函数指针等待,直到调用返回任何结果,或者直到请求超时。
相关文章:
- davis.js在页面加载/重新加载上生成两个请求
- Node.js&两个请求之间的Express/Can上下文切换可以是同步代码
- 两个Post请求,并且不更改变量
- Ajax向Wicket服务器发送两个请求时出错
- 从Node.JS中的两个网站请求RSS提要
- 在两个页面上发送 AJAX 请求
- Dojo 两个 XHR 请求和回调函数仅在两者完成时触发
- 两个 JSON 请求的列表
- 这是如何处理基于从 url 获取值的两个 ajax 请求吗?
- 如何在一个按钮单击上发出两个依赖的 AJAX 请求
- 使用 jquery ajax 请求和日期格式错误解析两个参数
- 如何使用 Restangular 检查两个同时请求的完成情况
- 如何改进/缩短这两个类似的 ajax 请求
- 节点JS,从两个链接同步发出HTTPS请求
- AJAX - 同时运行两个请求,但其中一个以一定的间隔重复运行
- jQuery:如何将两个请求结果连接到json服务器
- JQuery文件上传:在data.submit()上发送两个请求
- Nodejs一次触发两个请求
- 这两个请求之间的区别
- jQuery AJAX发送两个请求