[英]Backbone override sync and update model
我在下面編寫了更新模型的函數,但是它需要一個訪問令牌,因此我想覆蓋同步函數,但是我總是遇到此錯誤:
PUT https://api.parse.com/1/users/ZT0w7QdYvk 400 (Bad Request)
所以我認為同步可能無法正確覆蓋,或者其他一些錯誤。
updateUser: function(){
var sync = Backbone.sync;
var parseSessionToken = window.localStorage.getItem('parseSessionToken');
Backbone.sync = function(method, model, options) {
options.beforeSend = function(xhr) {
xhr.setRequestHeader('X-Parse-Application-Id', 'uR2Omi3B**ed9thVESad');
xhr.setRequestHeader('X-Parse-REST-API-Key', 'GbwUqq**Fxzbd1tFCXje');
xhr.setRequestHeader('X-Parse-Session-Token', parseSessionToken);
};
sync(method, model, options);
}
var targa = $('#targa').val();
var auto = $('#auto').val();
var users = new Utenti();
users.fetch({
success: function () {
var user = users.get( window.localStorage.getItem('parseId'));
console.log(targa);
user.set({'targa': targa,'auto':auto});
console.log(user);
user.save();
}
});
},
您可以按模型/集合覆蓋同步。 我不會覆蓋基本Backbone.sync
:
var MyModel = Backbone.Model.extend({
sync: function (method, model, options) {
options.header = _.extend(options.header || {}, {
'X-Parse-Application-Id': 'uR2Omi3B**ed9thVESad',
'X-Parse-REST-API-Key': 'GbwUqq**Fxzbd1tFCXje',
'X-Parse-Session-Token': parseSessionToken
});
return Backbone.Model.prototype.sync.call(this, method, model, options);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.