我试图解决此问题“此路由不支持GET方法。受支持的方法:POST。”
var get_and_read = function () {
message = messages.shift();
//console.log(message.id);
var sender = {id: message.id, _token: '{{csrf_token()}}'};
$.ajax({
type: 'POST',
url: "{{ route('alertbox.post', [ 'phone_number' => $phone_number ]) }}",
data: sender
});
return message;
}
在我的web.php中
Route::post('/widgets/alertbox/read', 'AlertboxController@postMessage')->name('alertbox.post');
在我的控制器中
public function postMessage(Request $request) {
$message = DB::table('message')->update('status', 'success')->where('phone_number', $request->id)->first();
if (!$message)
abort(403);
}
调用get_and_read函数
500 Internal server error
答案 0 :(得分:0)
您已将“ phone_number”添加为参数,因此需要在路由中添加它 示例:
Route::post('/widgets/alertbox/read/{phone}', 'AlertboxController@postMessage')->name('alertbox.post');
我希望这会对您有所帮助。
答案 1 :(得分:0)
这是一个重复的问题。
向每个页面(或主版面)添加一个元标记:
<meta name="csrf-token" content="{{ csrf_token() }}">
并添加到您的javascript文件(或页面中的部分):
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
看到相同的问题 ajax post in laravel 5 return error 500 (Internal Server Error)