使用OPTIONS而不是GET获取Backbone JS模型

时间:2015-03-18 16:53:07

标签: javascript ajax rest http backbone.js

我正在尝试使用模型从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发现任何请求。有人有什么想法吗?

1 个答案:

答案 0 :(得分:1)

OPTIONS请求是underlying feature of XMLHttpRequest使用自定义HTTP标头('HTTP_ACCESS_TOKEN': document.cookie)触发的。{/ p>

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

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