javascript - `jQuery.getJSON()` for 循环内的函数

标签 javascript jquery ajax loops

我有以下代码,它返回 h=30 而不是循环内的每个值。

for (var h = 0; h < 31; h++) {
  $.getJSON('http://google.com/',
    function(data) {
      console.log('line ' + h);
    }
  )
};

我需要做什么才能获取循环值?

最佳答案

使用 IIFE 进行关闭

for (var h = 0; h < 31; h++) {
    (function(h) {
        $.getJSON('http://google.com/', function(data) {......
            console.log('line ' + h);
        })
    })(h)
};

这样,h 的值将在该迭代中保留,而不是在 getJSON 被回调时设置为最后一个值

关于javascript - `jQuery.getJSON()` for 循环内的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32212423/

相关文章:

php - 特定 XMLHttpRequest 和 PHP 不允许 POST 405

javascript - Django 休息框架 : custom pagination next/previous links

javascript - 单击另一个对象时切换 jQuery 控件

javascript - 同一元素上的多个事件,停止立即传播

javascript - 如何使用我的项目 bower.json 限制 Bootstrap 中的 jQuery 依赖?

javascript - 表单上的简单验证

jquery - 如何使用 jquery 改变 HTML 元素的位置

javascript - 如何使用我的 spotify api token ?

jquery - Ajax 发布表格每行第一个单元格

php - 一个 Web 框架,其中 AJAX 不是事后的想法