jQuery ajax 循环和迭代范围

2023-12-14

我想知道为什么在下面的代码中i多变的仍然显示“5”而不是显示"1" then "2" then "3"等等 ?一定是范围问题,但我并没有真正理解它,因为我在全局和 dom 范围中更改了 i 变量的范围,但仍然遇到相同的问题。 当我警觉时i在ajax函数之外,它运行良好。

for (var i = 0; i < 5; i++) {   
   $.ajax({
        url: '/echo/html/',
        method:'post',
        data: {
            html: 'Ajax data'
        },
        success: function (resp) {
            $('#success').append(i) // always 5
        }
    })
    $('#outsideAjax').append(i); // is okay
}

这里是fiddle

EDIT :

我去了@图沙尔·古普塔解决方案,因为它最适合我的需求,但我遇到了另一个问题,如果我设置此选项,迭代将无法工作:处理数据:假

See the fiddle

为什么这不起作用?


这是由于 JavaScript 中的闭包造成的。这是修复方法 -

for (var i = 0; i < 5; i++) { 
   (function(i){
    $.ajax({
        url: '/echo/html/',
        method:'post',
        data: {
            html: 'Ajax data'
        },
        success: function (resp) {
            $('#success').append(i) 
        }
    })
    })(i);

    $('#outsideAjax').append(i); 
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery ajax 循环和迭代范围 的相关文章

  • 使用 Nestjs 和 typeorm 保存实体的审核

    我有一个实体Audit就像下面在 Nestjs 应用程序中使用 typeorm for mongodb 一样 Entity export class Audit Column createdBy string BeforeInsert se
  • scrollTop 在 Chrome 中不起作用,建议的解决方法也不起作用

    许多其他问题 here https stackoverflow com questions 2544979 is there a problem with scrolltop in chrome here https stackoverfl
  • 隐藏加载失败的图片

    我有一个 Android 应用程序 它生成一些在本地 Webkit 视图中呈现的 HTML HTML 生成的细节实际上并不那么重要 除了 大部分来自一个地方 我无法改变它 HTML 周围的模板 包括页眉 页脚 HEAD 等 CSS 和 Ja
  • JavaScript 事件循环:队列、消息队列、事件队列

    阅读了大量 JavaScript 事件循环教程 我看到了不同的术语来标识当调用堆栈为空时准备由事件循环获取的队列存储消息 Queue 消息队列 事件队列 我找不到规范术语来识别这一点 甚至 MDN 似乎也对此感到困惑事件循环页面 https
  • javascript 中的正则表达式和分隔符

    我不太擅长正则表达式 我需要一些帮助 但我被困住了 这就是我得到的 编辑 现在工作正常 看看 http jsfiddle net oscarj24 qrPHk 1 http jsfiddle net oscarj24 qrPHk 1 这就是
  • 添加/更改 URL 参数并重定向到新 URL

    If the view allURL 中不存在参数 我需要将其与值一起添加到 URL 的末尾 如果它确实存在 那么我需要能够仅更改该值而不创建新的 URL 因为它之前可能有也可能没有其他参数 我找到了这个功能 但我无法让它工作 https
  • Javascript 搜索并替换包含方括号的字符序列

    我正在尝试在字符串 Nationality EN ESP 中搜索 EN 我想从字符串中删除它 所以我使用替换方法 代码示例如下 var str Nationality EN ESP var find EN var regex new Reg
  • 如何通过 Web-Workers 传递自定义类实例?

    由于 Web Worker JSON 在线程之间序列化数据 因此这样的方法不起作用 worker js function Animal Animal prototype foobar function self onmessage func
  • 如何将多种语言设置放入单个 .clang-format 文件中

    我想为 java javascript 和 c 创建一个 clang 格式 我知道如何转储单一语言的示例配置 但不知道如何合并这 3 个配置文件 有关如何将多种语言配置放入单个文件中的示例 BasedOnStyle LLVM IndentW
  • 如何在 html5 中加载部分 html? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 询问我们的问题推荐或查找工具 库或最喜欢的场外资源与 Stack Overflow 无关 因为它们往往会吸引固执己见的答案和垃圾邮件 反而
  • 会话变量从 while 循环发送特定变量

    我有这个简单的while 循环它从 mysql 查询中检索数据并在我的主页上显示几个链接 我想避免使用 php get 函数并将查询字符串添加到我的网址中 我正在考虑使用会话变量 但我需要帮助 而且我很确定这是无法完成的 当访问者单击 wh
  • Jquery 对话框打开另一个页面

    有一个页面为transaction html 如何在另一个页面的弹出窗口中打开此页面 例如 jquery 对话框中的 show transactions html dialog html open transaction html in t
  • Mapbox 关闭除一层之外的所有图层

    我是 Mapbox 和 javascript 的新手 我试图稍微修改一下 Mapbox GL 代码示例 发现here https www mapbox com mapbox gl js example toggle layers 允许打开
  • jquery .html() 不适用于 ie8

    我有一个 jquery 函数 它对 Web 服务器上的 Web 服务方法进行 ajax 调用 该方法返回一个包含数据的 html 表 我正在使用 html 渲染 div 上的返回值 这适用于 Firefox Chrome Safari 但不
  • 如何在 Strongloop 环回脚手架项目中覆盖基本用户?

    给定一个使用以下命令创建的全新项目 slc lb project myapp 我该如何更换 user 模型中models json带有 customer 模型放置在 models目录 客户应该有登录 注销等方法 并且 用户 不应该作为 AP
  • 为什么“jQuery-Rails”经常位于资产组之外

    为什么我经常看到gem jquery rails之外的 assets group group assets do gem sass rails gt 3 1 0 gem coffee rails gt 3 1 0 gem uglifier
  • ajaxStart() 仅调用一次,但 ajaxComplete() 调用多次

    我想对页面上的每个 AJAX 请求进行调用 I read here http docs jquery com Ajax Events that ajaxStart 全局事件 如果启动 Ajax 请求并且当前没有其他 Ajax 请求正在运行
  • json支持阿拉伯字符吗?

    我想问一个简单的问题 json 是否支持阿拉伯字符 我的意思是当我搜索类似以下内容时 values database gt get by name echo json encode array returnedFromValue gt va
  • 返回语句后的声明

    function f return f1 function f1 return 5 f returns 5 为什么这有效 之后声明局部函数有什么好处return 这是好的做法吗 它之所以有效 是因为函数声明都是由解释器在第一次传递时评估的
  • 理解“窗口”对象[重复]

    这个问题在这里已经有答案了 可能的重复 JS 窗口全局对象 https stackoverflow com questions 10035771 js window global object 如何window对象工作 我知道它是顶级对象并

随机推荐

  • 您必须启用 openssl 扩展才能通过 https 下载文件

    我想安装 Zend Framework 2 所以我下载了框架应用程序 正如ZF2手册中提到的 我们必须发出命令 php composer phar install 骨骼内部 但我收到错误 您必须启用 openssl 扩展才能通过 https
  • Facebook PHP-SDK 与 CodeIgniter 不返回 $_REQUEST['signed_request']

    class Example extends CI Controller function construct parent construct function index this gt load gt library facebookl
  • 检索在 TFS 中创建的已保存查询的 WIQL

    我使用 Web 界面在 TFS 中交互式地创建了一个查询 现在我想获取它正在使用的 WIQL 我知道的唯一方法就是打电话RESTful API 并传递 expand wiql 有更容易的方法吗 最好是通过交互式网络界面 您可以使用 Chro
  • 如何在 C# 中将值从 form2 datagridview 复制/传输到 form1 datagridview..?

    任何人都可以帮忙吗 我真的需要这方面的帮助 这里我有两个表格 form1 和 form2 我在每个表单中创建了 datagridview DGV 现在我需要通过单击 form2 上的一个按钮将值从 form2 datagridview 传输
  • Google-Play-Services:创建自定义等候室 UI

    我即将使用 google play games 为我的 Android 应用程序实现一个实时多人游戏 服务和收听房间更新遇到一些问题 我没那么有经验 所以请原谅可能出现的理解问题 我的意图是 如果有人最近加入了我的活动 我需要得到通知 创建
  • 从 Excel 中使用的 SQL 查询返回 Excel 表达式

    我有一个 Excel 电子表格 其数据是使用查询从 SQL Server 数据库加载的 查询很复杂 但这是一个简化 SELECT Collections id AS collectionId SOME EXCEL FUNCTION A CA
  • 根据java中降序的差异,过滤映射到每十的倍数一行

    我有一种方法可以按十的倍数过滤行 即我可以按升序过滤最接近十的倍数的行 例如 10 20 30 等 现在我想按降序执行相同的过程 请参考以下链接 根据差异将数组过滤为每十的倍数一行 在上面提到的链接中 相同的过程是按升序完成的 我想按降序执
  • AWS S3 虚拟主机 SSL 不提供索引页

    我无法解决 AWS S3 虚拟托管的问题 我需要在导航到主机名时提供 SSL 和索引页面 通过纯文本提供索引页面 http hjr test s3 website us east 1 amazonaws com 无法通过 SSL 访问 ht
  • 在 C++11 中哪里可以使用alignas()?

    为了标准化我的代码并使其更加可移植 我替换了 ifdef GNUC typedef attribute aligned 16 float aligned block 4 else typedef declspec align 16 floa
  • “编译 PDF”和 knit2pdf 之间的区别

    我有一个 Rnw 文件 可以使用 RStudio 中的 编译 PDF 按钮 或 Command Shift k 将其编译为 PDF 但是 当我使用 knit2pdf 时 不会创建图形 也不会创建完整的 PDF 为什么会出现这种情况呢 如何具
  • 登录脚本未按要求工作

    我是 php 新手 尝试开发登录脚本 但是当我输入值时它不起作用 我什至找不到错误 因为当我单击 提交 时 它只会刷新页面 这是我的代码
  • EJB - 性能问题(更多数量的 EJB 对性能有影响)

    我们正在开发一个包含大约 400 个数据库表的应用程序 并具有相同数量的 EJB 全部都是本地接口 EJB 是无状态的 并且一个 EJB 通过 EJB 标记注入到另一个 EJB 中 我的疑问是 拥有更多数量的 EJB 是否会对应用程序的性能
  • Spring 中的内容类型问题

    我收到的帖子有问题 我有以下端点 RequestMapping value payment method POST public void saveOrder RequestBody PaymentDto paymentDto throws
  • 如何以编程方式找出哪个用户拥有哪个进程?

    好的 所以我想做的是找出给定进程所属的用户名 Process processList Process GetProcesses foreach Process p in processList Console WriteLine p Id
  • 高效的模 3 运算? [复制]

    这个问题在这里已经有答案了 可能的重复 快速模 3 或除法算法 每个人都知道模运算可能会对性能产生巨大的影响 有谁知道 x 3 操作的一个好的替代方案吗 我知道存在一个用于 x 2 的缓冲区 但我确实需要一个用于模 3 的缓冲区 因为我想在
  • 查找(解析)树集合中最频繁的子树

    我有一个树的集合 其节点被标记 但不是唯一的 具体来说 这些树来自解析句子的集合 参见http en wikipedia org wiki Treebank 我希望从集合中提取最常见的子树 性能 还 不是问题 如果有算法 最好是 Java
  • 将 List 从最高到最低排序

    List
  • 为所有网格设置 xticklabels,用于使用 col_wrap [重复] 使用seaborn catplot 创建的绘图

    这个问题在这里已经有答案了 我使用以下方法创建了一个绘图 g sns catplot x loja y preco col Descr Grupo col wrap 3 capsize 2 height 4 aspect 1 2 kind
  • Apache 基准多部分/表单数据

    我在 apache benchmark post 文件中遇到了一个奇怪的问题 我需要强调一个处理文件上传的功能 因此 我用谷歌搜索 找到了一篇描述如何正确构建帖子文件的帖子 其内容如下所示 1234567 Content Dispositi
  • jQuery ajax 循环和迭代范围

    我想知道为什么在下面的代码中i多变的仍然显示 5 而不是显示 1 then 2 then 3 等等 一定是范围问题 但我并没有真正理解它 因为我在全局和 dom 范围中更改了 i 变量的范围 但仍然遇到相同的问题 当我警觉时i在ajax函数