2016-10-02 6 views
2

私はこれについて500のサーバーエラーが発生し続けている理由を調べようとしています。私が提供した通りに私のルートに正しく設定されているし、私がやっていることは、単にそれがルートに当たるかどうかを確認するために文字列hahaを返すことだけです。AjaxとLaravel

Route::post('roster/getRosterMembers', ['as' => 'roster.getRosterMembers', 'uses' => '[email protected]']); 

(function(document, window, $) { 
    $('#type_id').change(function() { 
     var type = $(this).val(); 
     $.ajax({ 
      method: 'POST', 
      url: "/roster/getRosterMembers", 
      token: '{{ csrf_token() }}' 
     }) 
     .success(function(data) { 
      if (console && console.log) { 
        console.log("Sample of data:", data.slice(0, 100)); 
      } 
     }) 
     .error(function() { 
      alert('Hello'); 
     }); 
    }); 


})(document, window, jQuery); 

public function getRosterMembers() { 
    return 'haha'; 
} 
+0

エラーを含むと便利です –

+0

'php'コードで500エラーが生成され、' ajax'ではコントローラやモデルでコードがチェックされません。また、ルートが存在しないかコントローラが存在しない場合は、エラーも発生します – Franco

+0

私が現在行っているのは文字列を返すためですが、わかりません。 – user3732216

答えて

2

の代わりに、_token: '{{ csrf_token() }}'です。 _に注意してください。

0

あなたはjQueryのを使用しているので、あなたのビューファイルでこれらのコードを挿入することができます。

このスクリプトを挿入し、これらの

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

を挿入します。

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

これは自動的にCSRFを挿入しますすべてのAJAX通話のヘッダのトークン

投稿者:https://laravel.com/docs/5.3/csrf#csrf-x-csrf-token