Я застрял с этим в течение нескольких часов, проверил десятки примеров / ответов 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);
}
Заранее спасибо за любую помощь.