首页 > 解决方案 > laravel 内部报错,是什么问题?

问题描述

当我尝试使用 ajax 提交表单时,我收到500(内部服务器错误)错误。

谁能告诉我我做错了什么?这是我的 ajax、路由、控制器代码。

阿贾克斯

 $.ajaxSetup({
        headers: {
             'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
         }
       });


 $("#subscribe_form").submit(function(event){
       event.preventDefault();
       console.log('a');
       $.ajax({
        url: "subscribe/store",
        type: 'post',
        //dataType: JSON,
        data: new FormData(this),
        contentType: false,
        cache: false,
        processData: false,


        beforeSend: function () {
        },
        success: function () {
            console.log('success');

        }
    });
});

路线

Route::post('subscribe/store', 'SubscribeController@store')
->name('subscribe.store');

控制器

public function store(Request $request)
{
    Subscriber::create($request->all());
    return redirect()->route('index');
}

形式

            <form id="subscribe_form" style="margin-bottom: 5px" >
                @csrf
                <input type="email" name="email" placeholder="Enter Your Email" id="subemail">
                <button type="submit" class="btn btn-dark sub" id="subscribe">Subscribe</button>
            </form>

标签: ajaxlaravel

解决方案


你能像这样改变你的ajax和表单代码吗?

阿贾克斯代码

$('body').on('submit','#subscribe_form',function(event){
       event.preventDefault();
       console.log('a');
       $.ajax({
        url : $(this).attr('action'),
        data: new FormData(this),
        type: 'POST',
        contentType: false,       
        cache: false,             
        processData:false, 
        beforeSend: function () {
        },
        success: function () {
            console.log('success');

        }
    });
});

表格代码

<form id="subscribe_form" style="margin-bottom: 5px" action="{{ route('subscribe.store') }}">
                @csrf
    <input type="email" name="email" placeholder="Enter Your Email" id="subemail">
    <button type="submit" class="btn btn-dark sub" id="subscribe">Subscribe</button>
</form> 

如果您仍然收到 500 错误,那么您可以按照屏幕截图进行操作,您将得到究竟是什么错误。

在此处输入图像描述


推荐阅读