gpt4 book ai didi

Javascript 数组丢失数据

转载 作者:行者123 更新时间:2023-11-28 12:01:22 25 4
gpt4 key购买 nike

我在 ajax 调用中将信息放入数组时遇到问题,如果我在将信息插入数组后立即发出警报,它会正常工作,但如果我最后这样做,它会发出身份不明的警报。我确保书籍是在外面声明的,这样就不会造成干扰。

            var books = [];
$.ajax({
url: 'getFolderContents.php',
dataType: 'json',
success: function (data)
{
for(var i=0;i<data.length;i++) {
var amm = 0;
if(data[i].indexOf(".epub") !== -1) {
//$('#bTable').append("<td><a id = '" + data[i] + "' href = 'book.html'><img src = 'book.png' width = '100px'/><br/>" + data[i] + "</a></td>");
books.push(data[i]);
//alert(books[0]) Works if I call it from here, but not at the end.
}
}
},
error: function()
{
alert("error");
}
});
alert(books[0]);

最佳答案

你的

alert(books[0]);

将在 Ajax 调用运行时执行,因此此时执行时还没有任何元素。 Ajax 是异步的 - 当您向 PHP 脚本发出请求时,您的脚本会继续执行。

将所有与 books 相关的操作放入 success 函数中。

另一个提示:从 jQuery 1.8 版开始,您不能再使用参数 async: false 来创建同步“A”jax 调用。您必须使用回调函数。看看the docs for $.ajax

关于Javascript 数组丢失数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15903979/

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