2015-07-30 2 views
0

Я пытаюсь удалить модель с помощью:Laravel 5 TokenMismatch на Backbone.js уничтожить метод, с _token установить

var FeaturedUsersView = Backbone.View.extend({ 
    events: { 
     "click .remove-featured-user" : "removeFeaturedUser" 
    }, 
    template : _.template(FeaturedUsersTemplate), 
    render: function(){ 
     this.$el.html(this.template({ featuredUsers: App.featuredUsers.toJSON() })); 
     return this; 
    }, 
    removeFeaturedUser: function(event) { 
     userToRemove = this.collection.get(event.target.id); 
     userToRemove.set("_token", $('input[name="_token"]').val()); 
     userToRemove.destroy({ 
      wait: true, 
      /* 
      *headers: { 
      * _token : $('input[name="_token"]').val() 
      *}, 
      *async: false, 
      */ 
      url: '/api/admin/versions/' + App.config.get("class_id") + '/featured_users', 
     }); 


    } 
}); 

Я получаю сообщение об ошибке: исключение "Осветите \ Session \ TokenMismatchException.

У этого же вида есть model.save(), который работает с одним и тем же токеном. У меня такое чувство, что метод destroy игнорирует токен в запросе DELETE. Какие-нибудь советы?

Вот Backbone.js уничтожим метод:

destroy: function(options) { 
    options = options ? _.clone(options) : {}; 
    var model = this; 
    var success = options.success; 
    var wait = options.wait; 

    var destroy = function() { 
    model.stopListening(); 
    model.trigger('destroy', model, model.collection, options); 
    }; 

    options.success = function(resp) { 
    if (wait) destroy(); 
    if (success) success.call(options.context, model, resp, options); 
    if (!model.isNew()) model.trigger('sync', model, resp, options); 
    }; 

    var xhr = false; 
    if (this.isNew()) { 
    _.defer(options.success); 
    } else { 
    wrapError(this, options); 
    xhr = this.sync('delete', this, options); 
    } 
    if (!wait) destroy(); 
    return xhr; 
}, 
+1

показать все содержимое зрения и уничтожить тела метода – M0rtiis

+0

Добавлено, как это? –

ответ

0

Складывая это глобально фиксированная моя проблема:

<meta name="csrf-token" content="{{ csrf_token() }}"> 


$.ajaxSetup({ 
    headers: { 
     'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
    } 
}); 
Смежные вопросы