簡體   English   中英

Laravel AJAX POST請求失敗(500內部服務器錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM