Вставить в AJAX Laravel return 500 Внутренняя ошибка сервера - PullRequest
1 голос
/ 25 марта 2020

Я пытаюсь сделать простую вставку в laravel с AJAX, но получаю 500 Внутренняя ошибка сервера. Я считаю, что я правильно включил csrf_field. Любая помощь с благодарностью!

веб. php

Route::get( '/test', 'TestController@index');
Route::post('/korisnici', 'TestController@korisnici' )->name('korisnici');

test.blade. php

<script>
$(document).ready(function(){
    var token = $('meta[name="csrf-token"]').attr('content');

        $("#forma").click(function(){

        var fname=$("#fname").val();
        var email=$("#email").val();

        $.ajax({
            type:"POST",
            url:"{{route('korisnici')}}",
            data:"fname=" + fname + "&email=" + email + "&token=" + token,
            success:function(data){     
                alert(data);
            }
        }); 

    });

});

</script>

{{ csrf_field() }}
<input type="text" name="fname" id="fname" placeholder="first name"><br>
<input type="text" name="email"  id="email" placeholder="Email"><br>
<input type="submit" id="forma">

TestController. php

public function korisnici(Request $request){
    $fname=$request->input("fname");
    $email=$request->input("email");

      $this->validate($request,[
      'email' => 'required|email',
      'fname' => 'required'
      ]);

    $data=array("ime"=>$fname,"email"=>$email);

    DB::table("korisnik")->insert($data);

    echo "ubaceno";
}

1 Ответ

1 голос
/ 25 марта 2020

Передайте ваш ajax звонок, как показано ниже. Вы забыли упомянуть e.preventDefault(); и передать свой csrf_token в заголовке.

$("#forma").click(function(e){

e.preventDefault();

var fname=$("#fname").val();
var email=$("#email").val();

$.ajax({
    url : "{{route('korisnici')}}",
    type: 'POST',
    headers: {
      'X-CSRF-TOKEN': '{{ csrf_token() }}'
    },
    data : {fname:fname,email:email},

    success:function(data){
      alert(data);

    },

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