gpt4 book ai didi

javascript - 如何在循环期间访问 jquery getJson 调用($.getJson)中的索引变量?

转载 作者:行者123 更新时间:2023-11-28 15:25:44 27 4
gpt4 key购买 nike

我有以下代码,该代码已针对此问题进行了简化。基本上我有一个循环,在每次迭代中调用 jquery getJSON 函数,调用 API 端点来获取一些天气数据。问题是,当 getJSON 请求被触发时,我需要从循环访问索引,并且遇到了一些麻烦。我需要知道请求的索引是什么,以便我可以将其与数据库中的一些数据进行匹配。

代码:

function buildCities()
{
for (var i = 0; i < 7; i++)
{
var jqxhr = $.getJSON("http://api.openweathermap.org/data/2.5/weather?q=usa,phoenix&units=metric", function(response)
{
alert(i); //this will always be 7 - this is the issue. i desire it to be 0,1,2,3, etc....
});
}
}

这是一个显示问题的 JSFiddle,如果需要,您可以进行处理;) -http://jsfiddle.net/5tr34k/0xshvrzp/

请求:我如何在请求的回调函数内注入(inject)或以其他方式访问该索引(i)?感谢您的帮助。

最佳答案

添加作用域函数(IIFE),为变量创建新作用域:

function buildCities()
{
for (var i = 0; i < 7; i++)
{
(function(index){
var jqxhr = $.getJSON("http://api.openweathermap.org/data/2.5/weather?q=usa,phoenix&units=metric", function(response)
{
alert(index);
});
})(i);
}
}

关于javascript - 如何在循环期间访问 jquery getJson 调用($.getJson)中的索引变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29035736/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com