0
私の問題について私の研究を試みましたが、解決できませんでした。私はクリックでAjax POSTを試みています。私は最も一般的な問題をcsrf_tokenのために読んだことがありますが、私はそれが適切に処理されていると思いますか?AjaxポストのLaravel 500(内部サーバーエラー)
私はこのエラーを取得しておく:ここ
POST http://example.com/refreshCalendar 500 (Internal Server Error)
は私のコードです...
をCSRFトークンのための私のメタタグは私master.blade.phpファイル
<meta name="token" content="{{ csrf_token() }}">
のトップに
ルート:
Route::post('/refreshCalendar', ['as' => 'refreshCalendar', 'uses' =>'[email protected]']);
のJS機能
function refreshCalendar(obj){
var month = obj.data('month');
var year = obj.data('year');
history.pushState(null, null, '/month/'+month+'/year/'+year);
var data = {
"month":month,
"year":year,
_token:$('meta[name="csrf-token"]').attr('content')
};
$.ajax({
type: "POST",
url: '/refreshCalendar',
dataType: 'html',
async:true,
data: data,
success: function(data){
$('#calendarHolder').html(data);
},
error: function(){alert("There was an error retrieving information");return false;}
});
}
マイコントローラー:
namespace App\Http\Controllers;
use DateTime;
use Illuminate\Http\Request;
class Calendar extends Controller
{
public function refreshCalendar(Request $request)
{
//Set data to $request
$data = $request->all();
return show($data['month'], $data['year'], true);
}
}
失敗したリクエストに対するレスポンス本文は何ですか?ブラウザのネットワークインスペクタを使用してエラーを確認してください。 –
あなたはそれがconsole.logに書かれていることについて話していますか? "情報の取得中にエラーが発生しました"が表示されますが、console.logに "POST http://example.com/refreshCalendar 500(内部サーバーエラー)"と表示されます – Dom
ブラウザのデバッガを使用して、サーバー。それは手がかりを含むかもしれない。このルートのCSRFチェックをオフにして、何が起こるかを見てください。 – Jeffrey