Asked thg 11 20, 6:22 AM 81 0 1
  • 81 0 1
0

Bị lỗi SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data parsererror khi chạy ajax trong Laravel

Share
  • 81 0 1

như tiêu đề, lỗi này được hiển thị lên như vậy, đi kèm là alert "undefined" code của em đây ạ

js:

function buildBookingTable() { var date_from = document.getElementById("date_from").value; var date_to = document.getElementById("date_to").value;

    let table_url = '{{ route('booking_statistics') }}';
    event.preventDefault();
    $.ajax({
            type:'get',
            url:table_url,
            dataType:'json',
            data:{'date_from':date_from, 'date_to':date_to},
            success:function(data){
                console.log(data);
                if(data.code === 200){
                    $('.booking_table').html(data.component);
                }
            },
            error: function(xhr,status,error){
                var err = xhr.responseText;
                alert(err.error);
                $('.booking_table').html(error+" "+status);
            }
        });
    $.ajaxSetup({ headers: { 'csrftoken' : '{{ csrf_token() }}' } });
  }

php:

public function Statistics(Request $request) {

        $bookings = $this->bookingModel->whereBetween('booked_time', [$request->date_from, $request->date_to])->latest('id')->paginate(10);

        return response()->json([
            'code' => 200,
            'component' => view('manage.dashboard.booking_tbl')->with(['bookings' => $bookings])->render(),
        ],200);
    
}

route: Route::get('bookings/statistics', '[email protected]')->name('booking_statistics');

1 ANSWERS


Answered thg 11 20, 6:57 AM
+1

Hãy xem lại, err đang là text (xhr.responseText) không thể gọi err.error như object được.

var err = xhr.responseText;
alert(err.error);

Dùng responseJSON thay vì responseText ( Nên kiểm tra object xhr trước, mình ko nhớ rõ có phải là responseJSON ko 😄 )

Share
Avatar Nguyen Trung Kien @trungkien4723
thg 11 20, 1:29 PM

em có dùng cái này cho chức năng tim kiếm và hoạt động bình thường, nhưng khi đổi sang thống kê bằng ngày thì gặp lỗi 😦

0
| Reply
Share
Viblo
Let's register a Viblo Account to get more interesting posts.