Em bị lỗi khi thử truyền view qua json, các bác giúp em tìm hiểu nguyên nhân với ạ
controller: public function addFlight($id) { session()->forget('ticket');
$flight = $this->flightModel->find($id);
$ticket = session()->get('ticket');
$ticket[$id] = [
'flight_ID' => $id,
'aircraft_ID' => $flight->aircraft_ID,
'start_airport_ID' => $flight->start_airport_ID,
'start_time' => $flight->start_time,
'arrive_airport_ID' => $flight->arrive_airport_ID,
'arrive_time' => $flight->arrive_time,
'price' => $flight->price,
];
session()->put('ticket', $ticket);
return response()->json([
'code' => 200,
'component' => view('client.home.booking_list')->with(['ticket' => session()->get('ticket')])->render(),
],200);
}
ajax
$('.add_flight').click(function(e){
e.preventDefault();
let url = $(this).data('url');
let id = $(this).data('id');
$.ajax({
type:'GET',
url:url,
dataType:'json',
success:function(data){
console.log(data);
if(data.code === 200){
$('.booking_list').html(data.component);
}
},
error: function(){
alert('Đã có lỗi xảy ra!');
}
});
});
2 CÂU TRẢ LỜI
em đang muốn hiển thị dữ liệu mà không phải reset lại trang, em đang làm theo hướng dẫn này trên youtube https://www.youtube.com/watch?v=N2hJfSlaId8&t=1477s nhưng lại bị lỗi 500
@trungkien4723 ý tớ là bạn trả về view có nghĩa là return view('client.home.booking_list')->with(['ticket' => session()->get('ticket')]); , sau lấy gọi ajax thì ajax nó sẽ lấy toàn bộ trang đấy và gán vào page của bạn đang làm ý.
@khoanld98 sau khi return như thế thì phải gọi từ ajax thế nào ạ? em mới tập tành chưa biết gì cả :v
@trungkien4723 sorry bạn vì trả lời hơi chậm trễ, trong controller bạn trả về view blade hay một đoạn thẻ html như bình thường, sau đó gọi ajax đến đường đẫn đấy để lấy ra. bản chất của ajax là lấy toàn bộ những gì mà bạn khai báo đường dẫn đó.
@khoanld98 Cảm ơn bác, không có gì phải xin lỗi ở đây cả, em là người đang được giúp mà em đã tìm ra vấn đề trên stackoverflow cảm ơn bác đã dành thời gian cho câu hỏi của em
Em chưa biết gì về cái này nhưng sẽ cố tìm hiểu thêm, cảm ơn bác :3