gpt4 book ai didi

Jquery错误和正确的循环索引

转载 作者:行者123 更新时间:2023-12-01 04:55:52 25 4
gpt4 key购买 nike

假设我有这个:

for( i = 0; i < 10; i++ )
{
$.ajax({
type: "POST",
url: "geocode-items.php",
async: true,
data: {
key: i
},
success: function( data )
{
// data returns the index I passed into the script with the data property.
},
error( a, b, c )
{
alert( i ); // this obviously won't work
}
});
}

警报(我);在错误部分不会提醒正确的索引。虽然在成功时我可以传回放入 geocode-items.php 脚本的 key ,但我无法在错误部分传回任何内容。

您知道在触发错误方法时如何引用通过请求发送的原始数据吗?

类似于 this.data.key 的东西?这样我就可以报告我所停留的特定对象的错误?而不必编写一些通用的“有错误代码,但我不知道在哪里”

最佳答案

您应该阅读一些有关 javascript 范围和闭包的内容。在您的情况下,每个错误回调的值 i 都是相同的,并且由于 ajax 是异步的,因此所有的 i 都是 10。

javascript 仅具有基于函数的作用域,没有基于 block 的作用域。您可以做的是创建一个匿名函数,将值传递给 (function(param1) { } )(value) 该函数将立即被调用。然后将函数的参数绑定(bind)到该函数调用。

for( i = 0; i < 10; i++ )
{
(function(idx) {
$.ajax({
type: "POST",
url: "geocode-items.php",
async: true,
data: {
key: idx
},
success: function( data )
{
// data returns the index I passed into the script with the data property.
},
error: function( a, b, c )
{
alert( idx ); // this obviously won't work
}
});
})(i);
}

关于Jquery错误和正确的循环索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14399399/

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