【问题标题】:Insert into AJAX Laravel return 500 Internal Server Error插入 AJAX Laravel 返回 500 内部服务器错误
【发布时间】:2023-03-19 06:01:01
【问题描述】:

我正在尝试使用 AJAX 在 laravel 中进行简单插入,但我不断收到 500 内部服务器错误。我相信我已经正确地包含了 csrf_field 。非常感谢任何帮助!

web.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";
}

【问题讨论】:

    标签: php ajax laravel


    【解决方案1】:

    如下传递您的 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);
    
        },
    
      });
    });
    

    【讨论】:

    • 完美运行!我一直在努力解决这个问题:)非常感谢!
    猜你喜欢
    • 2016-09-16
    • 2016-06-19
    • 2019-11-12
    • 2016-08-20
    • 2019-06-05
    • 2017-04-12
    • 2020-02-12
    • 2018-04-16
    • 2016-03-24
    相关资源
    最近更新 更多