如何在Laravel中显示数据库生成的错误

时间:2019-04-15 10:01:36

标签: ajax laravel-5

我正在尝试在警报消息中显示错误消息。我正在使用ajax显示模式形式并存储数据。我的表有一个唯一的列,当我尝试输入重复的值时,它将引发错误,可以在控制台中查看此错误以及许多其他信息。我想在警报窗口中显示此错误。

我的查看代码如下:

        $('#saveBtn').click(function (e) {
            e.preventDefault();
            $(this).html('Sending..');
            $.ajax({
                data: $('#productForm').serialize(),
                url: "{{ route('ajaxproducts.store') }}",
                type: "POST",
                dataType: 'json',
                success: function (data) {
                    $('#productForm').trigger("reset");
                    if($('#saveBtn').val() === "edit-user")
                        $('#ajaxModel').modal('hide');
                    table.draw();
                },
                error: function (data) {
                    console.log('Error:', data);
                    alert('Error:'+data);
                    $('#saveBtn').html('Save Changes');

/*
                    $('.alert-danger').html('');
                    jQuery.each(data.errors, function(key, value){
                        $('.alert-danger').show();
                        $('.alert-danger').append('<li>'+value+'</li>');
                    });
*/
                }
            });
            $(this).html('Save Changes');
        });

控制器代码为:

    public function store(Request $request)
    {
        Product::updateOrCreate(['id' => $request->product_id],
            ['code' => $request->code,
                'category' => $request->category,
                'brand' => $request->company,
                'name' => $request->name,
                'opqty' => $request->opqty,
                'oprate' => $request->oprate,
                'prate' => $request->prate,
                'srate' => $request->srate,
                'minstock' => $request->minstock,
                'unit' => $request->unit,
                'closed' => $request->closed]);

        return response()->json(['success'=>'Product saved successfully.']);
    }

0 个答案:

没有答案