Ошибка POST-запроса Laravel AJAX (500 Внутренняя ошибка сервера - PullRequest
0 голосов
/ 02 февраля 2019

Я застрял с этим в течение нескольких часов, проверил десятки примеров / ответов StackOverflow, но я все еще получаю ту же ошибку.Я впервые работаю с AJAX, но у меня большой опыт работы с Laravel.

Проблема, с которой я сталкиваюсь, - это 500 Internal Server Error при попытке отправить мой AJAX-запрос, целью которого являетсяобновить одну строку в моей базе данных.

Я читал, что ошибка, вероятно, вызвана тем, что токен 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);
}

Заранее спасибо за любую помощь.

1 Ответ

0 голосов
/ 02 февраля 2019

Глупая ошибка от меня здесь, но я думаю, что раньше никогда не использовал AJAX, поэтому не знал, что это проблема.Я оставляю здесь этот ответ на всякий случай, если кто-то совершит ту же ошибку.

Проверьте storage / laravel.log, чтобы узнать сообщение об ошибке при попытке запустить функцию.В моем случае у меня была пара синтаксических ошибок в моей функции likeCandidate, и это вызывало внутреннюю ошибку сервера 500 (я предположил, что ошибка 500 означала, что он не смог получить доступ к контроллеру.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...