gpt4 book ai didi

jquery - 我的 jQuery 中的变量范围问题

转载 作者:行者123 更新时间:2023-12-03 22:53:52 25 4
gpt4 key购买 nike

从后端 PHP 脚本将变量作为二维 JSON 数组检索后,我遇到了变量范围的问题。这是我的代码:

var qns, qis, ncs, nzs, tps;

function get_questions() {
var url = "php/pytania.php";
$.ajax({
cache: false,
type: "GET",
dataType: "text",
url: url,
success: function(response) {
data = jQuery.parseJSON(response);
qns = data.qns;
qis = data.qis;
ncs = data.ncs;
nzs = data.nzs;
tps = data.tps;
}
});
}

$(document).ready(function() {
var index = 0;
get_questions();
$("#question_no").text(qns[index]);
});

当我最终尝试引用我的 qns 数组时,它显示变量未定义错误。然而它在 ajax 语句中工作 - 没有问题......

谢谢,保重! :)

皮奥特。

最佳答案

问题是 success 方法被异步调用 - 这意味着在调用 $().ajax 并尝试引用该变量后,它尚未被分配,因为 success 回调方法尚未执行。

这可以通过将 async 选项设置为 false 来解决,如下所示:

$.ajax(
{
/* this option */
async: false,
cache: false,
type: "GET",
dataType: "text",
url: url,
...

这意味着在您收到响应之前,ajax 调用之后不会执行任何其他操作。另一种方法是将代码放置在成功回调方法本身中需要使用数组的位置。

关于jquery - 我的 jQuery 中的变量范围问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5976142/

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