繁体   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