使用beforeSend

时间:2016-05-04 13:36:08

标签: javascript angularjs rest backbone.js get

根据thisthis问题的答案,我将以下代码写入GET:

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?

1 个答案:

答案 0 :(得分:0)

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

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