Javascript 无法确定如何修改提取?

Javascript 无法确定如何修改提取?,javascript,backbone.js,Javascript,Backbone.js,我需要添加一个身份验证头,到目前为止我有这个,但我被困在这里 initialize: function(options) { _.extend(this, _.pick(options, 'col')); this.listenTo(this.model, 'change', this.render); window.dispatcher.trigger('queryBox:close'); this.model.collectionName = this.c

我需要添加一个身份验证头,到目前为止我有这个,但我被困在这里

initialize: function(options) {
    _.extend(this, _.pick(options, 'col'));

    this.listenTo(this.model, 'change', this.render);
    window.dispatcher.trigger('queryBox:close');

    this.model.collectionName = this.col;

    if (this.model.id) {
        this.model.fetch();
    } else {
        this.renderNew();
        this.delegateEvents();
    }
},
以前从未使用过主干,我不知道如何返回结果,以便主干可以像第一个一样渲染它

结果本身是正确的,只需将其传递给主干即可。在第一个版本中,它使用默认的方式来执行此操作,但无法确定如何手动执行此操作

fetch: function() {
    var self = this;

    Backbone.ajax({
            url: self.url(),
            headers: {'Authorization':jwt}
        })
        .done(function(res){
            console.log('Help')
        })
        .fail(function(jqXHR, textStatus) {
            tiedotApp.notify('danger', 'Error loading document: ' + jqXHR.responseText, 8000);
        })
},

我不建议您更改
fetch
的默认实现,因为它的行为可以简单地用
选项配置。但如果你需要澄清一些事情

model.fetch
使用
jQuery.ajax()
与服务器交互,传递给
fetch
的所有选项也将传递给
$.ajax()
(其中一些选项可以在中间件中重写,但不适用于您的情况)

模型。fetch
需要返回承诺,将其用于完成和失败回调链


你可以用几种方法来完成你的任务

1。如果在一个位置获取模型:

然后您可以通过以下方式更改它:

model.fetch({
              headers:  {'Authorization':jwt}, 
              success: function () { consoele.log("Help") ;}, 
              error: function(jqXHR, textStatus, errorThrown) {}
            });
2。如果模型在很多地方都有,你需要保持干燥

以这种方式重写获取:

fetch: function(options) {
    options = options || {};
    options.headers = options.headers || {};

    options.header['Authorization'}] = jwt;
    options.success = yourSuccessFunction;
    options.error = yourErrorFunction;   

    return this.constructor.__super__.fetch.call(this, options);
},

这样您就不会破坏本机实现。

您可以共享使用此模型的视图吗?