[英]Laravel 5 Ajax 500 (Internal Server Error) when making a post request
[英]Laravel AJAX POST Request failing (500 Internal Server Error
我已經堅持了幾個小時,檢查了許多示例/ StackOverflow的答案,但是我仍然遇到相同的錯誤。 這是我第一次使用AJAX,但我在Laravel方面擁有豐富的經驗。
我遇到的問題是嘗試發送AJAX請求時出現500內部服務器錯誤,目的是更新數據庫中的一行。
我已經讀到該錯誤很可能是由於CSRF令牌未通過驗證/未傳遞到后端引起的,但是盡管更改了我的代碼,但我仍然遇到相同的問題。
這是我的代碼:
view.blade.php
<script> function likeCandidate(id){ console.log("Calling like candidate function"); $.ajax({ type:'POST', url:'/employer/likecandidate', data:{ '_token' : $('[name="_token"]').val(), 'cand' : id, 'job' : {{$id}}, }, success:function(data) { } }); } </script>
<!-- In the HTML I am including: --> @csrf
在我的路線中,我有郵政路線:
Route::post('/likecandidate', 'AjaxController@likeCandidate');
最后在我的控制器中,我得到了代碼:
public function likeCandidate(Request $request)
{
$this->validate($request, [
'cand'=>'required',
'job'=>'required',
])
// Find the application
$application = Application::where('candidateId', $request->input('cand'))
->('jobId', $request->input('job'))
->first();
// Update the candidate's status to liked.
$application->status = "Liked";
$application->save();
// Return status message
$msg = "Success";
return response()->json(array('msg'=> $msg), 200);
}
在此先感謝您的幫助。
這是我的愚蠢錯誤,但是我想我以前從未使用過AJAX,所以我不知道這是一個問題。 我在這里留下這個答案,以防萬一有人犯同樣的錯誤。
嘗試運行該功能時,請檢查storage / laravel.log以查找錯誤消息。 就我而言,我的likeCandidate函數中有一些語法錯誤,這導致了500內部服務器錯誤(我認為500錯誤意味着它無法訪問控制器。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.