如何从$中分配数据.获取一个变量,或者读取responseText
How to assign a data from $.get to a variable, or read the responseText
我已经得到了这个字典在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
,但有$。
有很多错误的假设:
显然我不能把整个内容放在变量中因为它是一个对象
是的,你可以,它非常简单,你可以访问它作为一个关联数组或点操作符(object.key
)。
全局变量没有帮助,因为它不能在其作用域之外被引用
这也是不正确的,你可以将它设置为一个全局变量,但它可能看起来是不可访问的,因为你试图在它设置之前使用它。请注意,异步代码,即$.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/jQuery中使用一个变量作为键吗
- 使用mongodb更新中的一个变量
- 将节点数据分配给另一个变量jstree
- Javascript:在激发函数后返回一个变量以供使用
- 替换另一个变量对象中的变量值
- 什么'它的意思是当一个变量位于括号外时
- 可以't将sessionStorage设置为Javascript中的一个变量
- 在Flickr API的标签参数中传递一个变量
- 从Jquery函数中获取一个变量
- 为两个ID设置一个变量的正确语法
- 如何将变量值附加到另一个变量
- 通过加载函数发送一个变量
- 如何将一个变量从一个控制器传递到合金中的另一个控制器
- 如何在Jquery函数中为自动完成文本区域指定一个变量作为Id
- Javascript未在其中一个变量上输出0
- 保留“;这个“;在一个变量中;这个“;使用此变量
- 是否可以在另一个变量中使用未声明的变量
- JS/ANGULAR使用一个变量's值作为另一个对象的键
- 如何每秒从一个变量中提取一定次数的javascript/html