【问题标题】:Backbone JS model fetch using OPTIONS instead of GET使用 OPTIONS 而不是 GET 获取主干 JS 模型
【发布时间】:2015-03-18 16:53:07
【问题描述】:

我正在尝试使用模型从 REST 端点获取。代码如下:

professors: function(id) {
  professor = new ProfessorModel({
    id: id
  });

  professor.fetch({
    headers: {
      'HTTP_ACCESS_TOKEN': document.cookie
    },

    success: function(model, response, options) {
      AppController.showView(new ProfessorView({model: model}));
    },

    error: function(model, response, options) {
      AppController.showView(new ErrorView({
        statusCode: response.status,
        errorMessage: response.statusText
      }));
    }
  });
}

由于某种原因,REST 端点告诉我获取正在使用 OPTIONS 而不是 GET。

我尝试了this 的答案,但没有奏效。我的端点上已经启用了 CORS,并且 Backbone.enableHTTP 选项也不起作用。

我查看了 Backbone 源代码,但使用 OPTIONS 发出任何请求似乎找不到任何关于它的信息。有人有什么想法吗?

【问题讨论】:

  • 您正在经历的是 CORS 预检。下次再看manual,没那么长。
  • @inf3rno 我需要你的帮助,而不是你的态度。

标签: javascript ajax rest http backbone.js


【解决方案1】:

OPTIONS 请求是由您使用自定义 HTTP 标头 ('HTTP_ACCESS_TOKEN': document.cookie) 触发的 underlying feature of XMLHttpRequest

它并非特定于 Backbone,这就是为什么您在 Backbone 源代码中找不到对它的引用。

您找到的答案是正确的。您需要设置服务器以正确响应 OPTIONS 请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多