【问题标题】:Get operation (without Option) in Backbone using beforeSend使用 beforeSend 在 Backbone 中获取操作(不带选项)
【发布时间】:2016-05-04 13:36:07
【问题描述】:

根据thisthis 问题的答案,我编写了以下代码来获取:

var setHeader = function (xhr) {
    xhr.setRequestHeader("Authorization", "Basic " + btoa($rootScope.login.Gebruikersnaam + ":" + $rootScope.login.Wachtwoord));
}

$rootScope.getCollection = function () {
    return new(Backbone.Collection.extend({
            url : $rootScope.login.Serverlocatie + '/Table?Active=true&SL=ID'
        }));
}

$rootScope.getCollection().fetch({
    beforeSend : setHeader
}).then(function (a) {
    console.log(a);
});

通常,它应该使用指定的请求标头执行 GET 操作。但是,我将以下内容作为回应:

Request Method:OPTIONS
Status Code:400 Not a REST method:

因此,不允许使用 OPTIONS 方法,如果我只执行 GET 操作(使用 ajax),它运行良好。

问题是:在这种情况下,我如何进行 GET 调用而不是 OPTIONS?

【问题讨论】:

  • 你是同时使用backbone和angular吗?
  • 是的,我两个都用。

标签: javascript angularjs rest backbone.js get


【解决方案1】:

您可以将type 字段传递给fetch 属性:

$rootScope.getCollection().fetch({
    beforeSend : setHeader,
    type: 'GET'
}).then(function (a) {
    console.log(a);
});

【讨论】:

  • 你确定吗?我试过了,但它仍然被认为是一个 OPTION 操作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-19
  • 1970-01-01
  • 2015-12-14
  • 1970-01-01
  • 2013-03-28
  • 1970-01-01
相关资源
最近更新 更多