简体   繁体   中英

Laravel cant get data from ajax request

I am trying to save data in DB but all validations return error while data exist.

Here is data that I sent to backend(controller) but in dd() it returns []

一

errors

二

Code

My 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);
            }
        });
    });
});

Any idea?

Try using @method('PUT') or add formData.append('_method', 'PUT'); in your form and change your request type to type:'POST' , because some browser doesn't support PUT request, let Laravel decide the request with the _method request

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM