gpt4 book ai didi

php - 从 jQuery ajax 调用复制数组

转载 作者:行者123 更新时间:2023-11-30 10:46:25 24 4
gpt4 key购买 nike

我正在尝试在此 Javascript 函数中复制一个 JSON 数组:

var test = new array();
function showUser(user, pass, remember)
{
$.getJSON("login.php", { username : user, password : pass, check : remember }, function(data){
for (var i = 0; i<data.length; i++)
{
alert(data[i]);
test[i] = data[i];
}
});
alert(test[0]);
}

这是它链接到的 PHP 文件;

<?php
$arr = array("test1", "test2", "test3");

echo json_encode($arr);
?>

问题是我需要运行函数两次,以便我的测试数组包含一些东西,否则它会保持未定义状态。我该如何解决这个问题?

最佳答案

var test = new array();
function showUser(user, pass, remember)
{
$.getJSON("login.php", { username : user, password : pass, check : remember }, function(data){
for (i in data)
{
test[i] = data[i];
}
alert(test[0]);
});
}

正如 Šime Vidas 所述,您的警报在回调函数之外,因此它在通过 AJAX 调用返回数据之前被调用。这就是为什么第二次点击您的按钮会发出您预期的警报,因为它在回调函数运行后就存在了。

虽然,为什么不直接将 test 设置为 data 的值,而不是遍历 data 变量:

test = data;

关于php - 从 jQuery ajax 调用复制数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8087653/

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