我发现queue()/ 上的jQuery.com文档dequeue()太简单了.jQuery中的队列究竟是什么?我应该如何使用它们?
所以我有一个Web应用程序,它正在对一些API进行大约14-15次AJAX调用.问题是当我在浏览器中键入其URL时,所有AJAX调用所花费的时间几乎是每个API向我显示响应的时间的3倍.
我正在DOM Ready事件中立即进行所有AJAX调用.
问题是如何加快这个将15个AJAX调用放在一起的过程,尽可能快地获得响应并相应地操作DOM.
我脑子里想的几点:
cache:true在AJAX设置.我不认为这会有所帮助,我仍然在做任何我确信内容更新真的很慢的地方.任何建议都很有价值!谢谢.
我正在进行AJAX调用的方式
$(document).ready(function(){
loadSentimentModule();
loadCountModule();
loadEntitiesModule();
// Some more function calls.
});
function loadSentimentModule(){
$.ajax({
url:someurl,
cache:true,
dataType:"json",
success: function(data){
// Based on data manipulating DOM.
}
}
// Same kind of function defintions for all the functions.
Run Code Online (Sandbox Code Playgroud) 我正在编写一个脚本,我需要循环一组 AJAX 请求:
$('#fetchPosts').click(function(){
for(var i=0; i < link_array.length; i++) {
settings = {
// some object not relevant
}
var status = main_ajaxCall(settings, i); // ajax call
}
});
function main_ajaxCall(settings, i) {
$.ajax({
type: "POST",
url: "../model/insert.php",
data:{obj_settings: settings},
dataType: "json",
cache: false,
success: function (data) {
// some handeling here
return 0;
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
return 1;
},
};
Run Code Online (Sandbox Code Playgroud)
为什么 AJAX 请求会立即触发?它似乎没有等待 model/insert.php 的响应,有没有办法强制它在触发下一个 AJAX 请求之前等待响应?
编辑1:
看来我没说清楚,抱歉,我不想等,我想排队接听电话。
我无法一次性拨打电话,这在我目前的情况下是不可能的。