JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.2/backbone-min.js"></script>
JavaScript
var servicesNew = {
primaBackbone : function(method, model, options) {
options || (options = {});
var beforeSend = options.beforeSend;
options.beforeSend = function(xhr) {
xhr.setRequestHeader('Authorization','Bearer 52b20db1-4bcb-426e-9bbf-a53a826249f3')
if (beforeSend) return beforeSend.apply(this, arguments);
};
switch (method) {
case "read":
options.url = options.readUrl;
break;
case "delete":
options.url = options.deleteUrl+'/'+model.get("id");
break;
case "update":
options.url = options.updateUrl+'/'+model.get("id");
break;
case "create":
options.type = "PUT";
options.url = options.createUrl;
break;
}
if (options.url)
return Backbone.sync.call(model, method, model, options);
}
}
var NotificationHeaderModel = Backbone.Model.extend({
sync: function(method, model, options){
options = _.defaults({}, options, {
readUrl: "/echo/json",
createUrl: "/echo/json",
deleteUrl: "/echo/json",
updateUrl: "/echo/json"
});
return servicesNew.primaBackbone.call(model, method, model, options);
}
});
var c = new NotificationHeaderModel({id: 1});
c.fetch();
c.save();
c.destroy();