如何在全球范围内提供ajax成功回调数据?

时间:2015-08-16 23:59:13

标签: javascript jquery ajax

所以我从rails后端返回了一些数据,我想让这些数据全局可用,我已经阅读了关于windows.variable =成功回调数据但我必须在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);
      }
    });
  }

1 个答案:

答案 0 :(得分:1)

  

我读过有关windows.variable

的内容

确切地说,如何在JavaScript中全局提供值,并将其设置在window对象上。像这样:

window.someVariable = someValue;
  

但我必须在ajax请求上设置async:false

你绝对不应该这样做。它也与你提出的问题无关。 window对象始终可用,这是使其成为全局的原因:

success: function(data) {
    window.someVariable = data.someValue;
}

回调运行后,window.someVariable将包含该值,并且可供页面上的任何其他代码使用。