for循环中的AJAX请求返回错误的结果

缺口

我正尝试#container按照要求的顺序将10张图片添加到我的图片中,但由于某些原因,我不知道它们会被无序地退回。

我目前正在通过for循环获取URL ,并将其传递给AJAX请求,如下所示:

for (i = 0; i < $links.length; i++) {
    link = $links.eq(i).attr('href');

    // Appends anchor into #container
    $('#container').append('<a href="' + link + '" class="tile"><p>' + $links.eq(i).text() + '</p></a>');

    $.ajax({
        type: 'GET',
        url: link
    }).done(function (data) {
        var $data = $(data);
        $('#container').append($data.find('img').eq(0));
    });
};

任何有关如何解决或改善这一点的见解都将是很棒的!谢谢!

罗里·麦克罗森(Rory McCrossan)

这是预期的行为,因为请求是异步的。可以按照您要求的顺序触发它们,但是响应时间完全取决于服务器以及处理每个请求所花的时间。

例如,假设您发出3个请求。#1需要150毫秒才能完成,#2需要200毫秒,而#3需要75毫秒。done()然后,您的处理程序将按3、1、2的顺序执行请求。

如果您依赖于以特定顺序处理的响应,则需要修改代码以在单个请求中发送所有数据,以便可以根据需要格式化响应。

使用async: false可能会产生您期望的行为,但是使用起来却是非常糟糕的做法,并且上述解决方案会更可取。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

for循环中的AJAX请求返回错误的结果

来自分类Dev

如果FOR循环中的IF语句返回错误结果

来自分类Dev

FOR / F命令循环中的错误级别返回意外结果

来自分类Dev

返回请求循环的结果

来自分类Dev

for循环中有多个ajax请求

来自分类Dev

从AJAX请求返回while循环

来自分类Dev

嵌套循环中的总和返回错误

来自分类Dev

API 调用中的 for 循环在每个循环中返回相同的结果

来自分类Dev

为每个cURL请求返回AJAX结果

来自分类Dev

通过ajax执行发布时,返回错误请求,而不是JSON结果

来自分类Dev

JavaScript 请求 JSON 信息。返回错误的结果

来自分类Dev

嵌套循环中的Axios API调用未返回预期结果

来自分类Dev

在while循环中嵌入html以根据返回的数据显示结果

来自分类Dev

在for循环中返回的方法缺少返回语句错误

来自分类Dev

在while循环中使用jQuery AJAX请求

来自分类Dev

在循环中请求 JSON

来自分类Dev

GNUPLOT:统计信息在循环中给出错误的结果

来自分类Dev

Laravel Ajax请求返回错误500

来自分类Dev

对 PHP 的 jQuery AJAX 请求返回错误 500

来自分类Dev

PHP和AJAX返回错误的结果

来自分类Dev

for循环中的Javascript in操作符返回类型错误

来自分类Dev

VBA If然后stament在For Each循环中返回错误

来自分类Dev

java无限循环中的返回值错误

来自分类Dev

在循环中使用 setValue() 会返回“未捕获的错误”

来自分类Dev

在循环中间返回

来自分类Dev

SQL请求返回错误的ID和错误的结果

来自分类Dev

在循环中调用 jQuery Ajax 给我 503 错误

来自分类Dev

循环ajax请求一一显示结果一一显示吗?

来自分类Dev

修复For循环中的错误