gpt4 book ai didi

javascript - 如何将 $.get 中的数据分配给变量,或读取responseText

转载 作者:行者123 更新时间:2023-12-03 10:04:40 26 4
gpt4 key购买 nike

我在 JS 中有这个字典 -

{
ranges: {
"year 2013": ["01/01/2013", "31/12/2013"]
}
opens: 'left',
format: 'dd/MM/yyyy',
separator: ' to ',
startDate: START_DATE,
endDate: END_DATE,
minDate: '01/01/2005',
maxDate: '31/12/2023',
}

现在我希望范围是动态的而不是硬编码的,因此我设法使用此请求提取数据:$.get("accyears", function(data){data})我显然不能将整个东西放入变量中,因为它是一个对象。

尝试将“data”设置为全局变量不会有帮助,因为它在其范围之外不可引用。

我只能在控制台日志或警报的范围内使用它。如何提取 data 并将其分配给我的字典 --> ranges甚至尝试在范围内设置 ranges: data ,但在内部设置 $.get 请求不起作用。

最佳答案

有很多错误的假设:

I obviously can't put the whole thing in a variable as it's an object

是的,可以,非常简单,您可以将其作为关联数组或使用点运算符 (object.key) 进行访问。

global variable won't help as it's not referable outside its scope

这也不是真的,您可以将其设置为全局变量,但它似乎无法访问,因为您试图在设置之前使用它。请注意,异步代码(即 $.get)将在下一行之后执行(就计算机速度而言)。这就是为什么你向它传递一个回调函数或使用 .done 函数,这样你就可以在收到数据后对其进行处理。

很难建议如何解决您的问题,但我建议创建一个回调函数,在收到数据后处理您的数据。

一个例子:

$.get(..., function (data) {
globalData = data;
})
// use globalData

不起作用,因为如前所述,$.get 是异步的,您将尝试在它之前使用 globalData已设置。

如何使用回调函数来做到这一点:

$.get(..., function(data) {
// use data like you wanted to use globalData
});

或者功能相似但语法略有不同:

$.get(...).done(function(data) {
// use data like you wanted to use globalData
});

如果这对您不起作用,则从服务器获取数据或使用数据时的逻辑一定有问题。

关于javascript - 如何将 $.get 中的数据分配给变量,或读取responseText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30417918/

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