Laravel无法从ajax请求获取数据

时间:2019-12-05 03:02:18

标签: javascript ajax laravel

我正在尝试将数据保存在DB中,但是当数据存在时,所有验证都会返回错误。

这是我发送到后端(控制器)的数据,但在dd()中它返回了[]

one

错误

two

代码

我的JS

$(function() {
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });
    $('.customerUpdate').on('click', function(e){
        e.preventDefault();
        var ordID = $(this).data('id');

        var formData = new FormData();
        formData.append('group_id', $('#group_id').val());
        formData.append('industry_id', $('#industry_id').val());
        formData.append('customername', $('#customername').val());
        formData.append('companyName', $('#companyName').val());
        // Attach file
        formData.append('npwp', $('input[type=file]')[0].files[0]);
        formData.append('province_id', $('#province_id').val());
        formData.append('city_id', $('#city_id').val());
        formData.append('address', $('#address').val());
        formData.append('postalCode', $('#postalCode').val());
        formData.append('email', $('#email').val());
        formData.append('phone', $('#phone').val());
        formData.append('user1Project', $('#user1Project').val());
        formData.append('user1MobilePhone', $('#user1MobilePhone').val());
        formData.append('user2Project', $('#user2Project').val());
        formData.append('user2MobilePhone', $('#user2MobilePhone').val());
        formData.append('userFinancePayment', $('#userFinancePayment').val());
        formData.append('userFinancePaymentMobilePhone', $('#userFinancePaymentMobilePhone').val());
        formData.append('userFinanceTax', $('#userFinanceTax').val());
        formData.append('userFinanceTaxMobilePhone', $('#userFinanceTaxMobilePhone').val());
        formData.append('userProcurement', $('#userProcurement').val());
        formData.append('userProcurementMobilePhone', $('#userProcurementMobilePhone').val());

        $.ajax({
            type:'PUT',
            url:'{{url('dashboard/customers')}}/'+ordID,
            data: formData,
            async: false,
            cache: false,
            contentType: false,
            dataType: 'JSON',
            enctype: 'multipart/form-data',
            processData: false,
            success:function(data){
                alert(data.success);
            }
        });
    });
});

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

尝试使用@method('PUT')或在表单中添加formData.append('_method', 'PUT');,然后将请求类型更改为type:'POST',因为某些浏览器不支持PUT请求,因此让Laravel使用{ {1}}请求