所以我有一些数据从rails后端返回,我想使这些数据在全球范围内可用,我已经读过关于windows。变量=成功回调数据,但我必须在ajax请求上设置async:false,现在已弃用并且不起作用。
有新的解决方法吗?
这是我的ajax代码function retrieve(date_partial) {
var jsondata = {
events: {
month: date_partial,
}
}
$.ajax({
cache: false,
type: "POST",
url: "/events/find",
data: jsondata,
success: function(data) {
for (var i = 0; i < data.events.length; i++) {
var day = data.events[i].date.substring(0, 2);
$("td[data-day='" + day + "']").addClass('added');
}
},
error: function(xhr) {
alert("The error code is: " + xhr.statusText);
}
});
}
i have read about windows.variable
这就是如何使一个值在JavaScript中全局可用,在window
对象上设置它。像这样:
window.someVariable = someValue;
但是我必须在ajax请求
上设置async:false
你绝对不应该那样做。这和你问的也没有关系。window
对象总是可用的,这就是为什么它是全局的:
success: function(data) {
window.someVariable = data.someValue;
}
一旦回调运行,window.someVariable
将包含该值,并可用于页面上的任何其他代码。