当前位置: 首页 > 知识库问答 >
问题:

Laravel AJAX POST请求失败(500内部服务器错误

傅志用
2023-03-14

我已经被这个问题困扰了好几个小时,检查了几十个示例/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>
html lang-html prettyprint-override"><!-- 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);
}

提前感谢任何帮助。

共有1个答案

孙朝明
2023-03-14

我犯了一个愚蠢的错误,但我想我以前从未使用过AJAX,所以我不知道这是一个问题。我把这个答案留在这里,以防有人犯同样的错误。

检查仓库/仓库。记录日志以查找尝试运行函数时的错误消息。在我的例子中,likeCandidate函数中有几个语法错误,这导致了500个内部服务器错误(我假设500个错误意味着它无法访问控制器)

 类似资料:
  • 我正试图通过Axios在本地发送一个POST请求,其中包含用户名和密码。 我正在部署一个Flask应用程序http://127.0.0.1:5000/login,它处理/login路由。POST请求失败,出现以下错误 我研究了一点,认为这可能是CORS的问题,但情况似乎并非如此,因为我尝试了一个Axios GET请求,它工作正常(响应记录正确)。这是我的部分代码 查看ChromeDevTools,

  • 我的浏览器控制台上有一个错误:“放置http://localhost:8000/post/2 500(内部服务器错误)” 我使用资源控制器和我的路由-路由e::资源('post','PostController'); 此处为更新帖子的资源控制器代码: 这里我的视图代码: Ajax代码: 顺便说一下,我在文件头上使用了元令牌{{csrf_token()}}。但是我在本地主机上发现了500个内部服务器

  • 我在做一个春靴项目, 我正试图从邮递员发送get请求,但我得到500个内部服务器错误。 控制器: } 型号:

  • 问题内容: 我正在尝试为这个工作中的项目学习AJAX。我有一个网站加载病人正在服用的药物。 我递归调用此AJAX函数,以便它将附加一个包含单种药物和7天历史记录的新表。我在使代码在FF和IE中执行时遇到问题。在chrome中效果很好。我有显示xmlhttp.status的警报,这是我得到的: xmlhttp.status == 500(内部服务器错误)。 我注释掉了所有递归,因此将其范围缩小到了这

  • 我收到以下错误 内部服务器错误 服务器遇到内部错误或配置错误,无法完成您的请求。 请联系服务器管理员,webmaster@strivemedicare.in并告知他们错误发生的时间,以及可能导致错误的任何行为。 有关此错误的详细信息,请参阅服务器错误日志。 此外,尝试使用错误文档处理请求时遇到 500 内部服务器错误错误。

  • RabbitMQ web管理为我提供了: 得到响应代码500,正文{“error”:“internal Server error”,“reason”:“{error,{error,function_clause,\n[{mochijson2,json_encode_string_unicode,\n[{error,[],<<166,65,92,180,0,0,0,0,0,0>>},\n{encod