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
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', 'bookingController@Statistics')->name('booking_statistics');
Thêm một bình luận
1 CÂU TRẢ LỜI
+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 )
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