2017-02-04 4 views
0

возможно изм Я использовал JQuery плагин возможно изм:TokenMismatchException в VerifyCsrfToken.php в то время как через завершения заполнения

<td>Name</td><td class="name" data-pk="<?php echo auth()->user()->id;?>" data-url="{{url('/edit/name')}}">{{auth()->user()->name}}</td> 

и $('.name').editable();

Этот маршрут: Route::post('/edit/name', '[email protected]');

И контроллер:

public function name(Request $request) 
    { 
     $update=User::find()->where(['id'=>$request->pk])->first(); 
     $update->name=$request->value; 
     $update->update(); 
    } 

Но у меня есть TokenMismatchExce ption error: Как я могу передать токен при использовании jQuery x-editable plugin?

ответ

2

В laravel, для отправки по почте вам также необходимо передать значение токена csrf. Это механизм безопасности, предоставляемый laravel. Чтобы удалить эту ошибку, попробуйте следующее:

<input type="hidden" name="_token" value="{{ csrf_token() }}"> 

положить это скрытое поле внутри тега формы, его значение также размещена при отправке формы.

Reference

Аякс:

$.ajaxSetup({ 
    headers: { 
     'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
    } 
}); 
+0

но, у меня нет формы. – Steve

+0

Я не знаю, использует ли это ajax. это плагин, который я использовал. https://vitalets.github.io/x-editable/ – Steve

+1

это сработало после добавления токена в html meta tag.thanks. – Steve

0

Попробуйте добавить строку ниже в виде HTML кода

<input type="hidden" name="_token" value="{{ csrf_token() }}"> 

Я надеюсь, что это работает.

+0

, но я не имею форму. – Steve