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);
},
这样您就不会破坏本机实现。您可以共享使用此模型的视图吗?