Публикация в PHP-фреймворке Yii с помощью Backbone.js

Я пытаюсь использовать модели Backbone.js для сохранения в своем веб-приложении Yii, но получаю ответ «Токен CSRF не может быть проверен», даже если модель представляет собой сериализованную форму, и я использую Backbone.sync для установки заголовка.

Модель (форма содержит токен CSRF и отправляет его как атрибут «YII_CSRF_TOKEN»):

var v = new ModelName ($('.formclass').serializeJSON()); 

Сериализатор JSON:

 //form.serializeJSON
 (function( $ ){
 $.fn.serializeJSON=function() {
 var json = {};
 jQuery.map($(this).serializeArray(), function(n, i){
 json[n['name']] = n['value'];
 });
 return json;
 };
 })( jQuery );

Backbone.sync:

Backbone.old_sync = Backbone.sync;
     Backbone.sync = function(method, model, options) {
     var new_options =  _.extend({
         beforeSend: function(xhr) {
             console.log('backbone sync');
             var token = model.get('X_CSRF_TOKEN');
             console.log('token ='+token)
             if (token) xhr.setRequestHeader('YII_CSRF_TOKEN', token);
         }
     }, options)
        Backbone.old_sync(method, model, new_options);
 };

Я также пытался установить заголовок как «X_CSRF_TOKEN», безрезультатно.

6
задан o_nix 6 September 2012 в 12:14
поделиться