【发布时间】:2016-12-06 00:44:20
【问题描述】:
我最近开始使用 ajax 请求。我的请求正在运行,但加载需要几秒钟。
代码-
var x = 0;
function makeTR(){
var appendObject = "<tr>";
for(var i = 0; i < 3; i++){
$.ajax({
async: false,
type: 'GET',
url: domain + Players[x] + domain2,
success: function(data) {
appendObject = appendObject + "<td>" + makeTD(data.player, data.rank, data.guild_rank, data.fame, data.last_seen) + "</td>";
x++;
}
});
}
appendObject = appendObject + "</tr>";
return appendObject;
}
如果你需要更多代码,我会给你,不过这是唯一有任何真实代码的部分。
对不起,如果还有其他帖子,我找了一会儿。
提前致谢!
【问题讨论】:
-
async: false是原因。有更好的选择。绝不推荐async: false。 -
当它关闭时,它永远不会加载实际数据,我尝试寻找更好的方法来等待它加载,但大多数人只是在做
.done(function(){.这不是很好 -
it never loads the acctual data- 确实如此,只是不同步 - 使用上面的异步代码需要小心,因为这三个请求也不一定按预期的顺序完成 - 学习并接受异步代码 -
您正在进行 3 次 ajax 调用,而不是一次,获取所有数据并提高后端 API 的质量
-
将
async切换到true(或删除)并尝试使用promises以确保它返回任何数据。
标签: javascript jquery ajax