(function(define) { 'use strict'; define(['jquery', 'backbone'], function($, Backbone) { return Backbone.Model.extend({ defaults: { email: '' }, ajaxType: '', urlRoot: '', initialize: function(attributes, options) { this.ajaxType = options.method; this.urlRoot = options.url; }, sync: function(method, model) { var headers = { 'X-CSRFToken': $.cookie('csrftoken') }; // Only expects an email address. $.ajax({ url: model.urlRoot, type: model.ajaxType, data: model.attributes, headers: headers, success: function() { model.trigger('sync'); }, error: function(error) { model.trigger('error', error); } }); } }); }); }).call(this, define || RequireJS.define);