【发布时间】:2013-11-06 15:23:01
【问题描述】:
我的 Ajax 调用有一些问题。我需要显示大量来自 json 文件的数据,但是这个过程会锁定整个选项卡或浏览器。
我正在将 2.5MB 的单词加载到一个 div 中。当它正确异步运行时,它应该可以正常工作。还是 2.5MB 对浏览器来说太大了?
我的目标是让浏览器在加载时保持响应。我可以在函数运行时创建加载屏幕,但这是以后的问题。
这是我的代码:
function returnWords() {
var input2 = '', chr = '';
for (var i = 65; i <= 90; i++) {
input2 = String.fromCharCode(i);
chr = input2.toLowerCase();
console.log(chr);
$.ajax({
url: 'words/words_' + chr + '.json',
dataType: 'json',
async: true,
success: function(words) {
console.log(chr + ' done');
}
});
var w = "";
w = words.join();
var output = w.split(',').join('<br />');
$('.result').append(output);
}
console.log('done');
};
【问题讨论】:
-
您是否有机会在输入字段中的每个按键上运行此命令?
-
在最新版本的 jquery 中不需要
async属性。 250万也是一个大数据 -
不,这只是一个点击按钮执行的函数
-
@PraveenJeganathan,它也会在没有该属性的情况下锁定。我正在使用 jQuery 1.9.1
-
@Forza 它仍然在
for循环内。
标签: javascript jquery ajax asynchronous synchronous