Click load!
Ý bạn là nó chỉ thực hiện khi có thao tác chứ không tự động?
Theo mình hiểu: Bạn có một nút nhấn để tải ajax, bên trong click()
bạn chỉ gọi mà KHÔNG hiển thị dữ liệu nhận được. Thay vào đó bạn lại dùng ready()
và ajaxComplete()
để nhận và hiển thị.
-
ready()
chỉ tải duy nhất 1 lần sau khi trang (toàn bộ HTML, CSS và Javascript) tải xong. Khi bạn nhấn vào nút tải ajax, thì có lẽ ready()
đã thực hiện xong rồi. Và bạn nên biết ready()
và ajax chẳng liên quan gì đến nhau cả.
-
ajaxComplete()
xảy ra khi MỌI ajax hoàn thành việc tải. Nên dùng có chọn lọc.
Hướng thực hiện:
- Nếu bạn muốn tự động thì dùng
ready()
, bên trong hàm thì thực hiện gọi ajax và hiển thị luôn.
- Nếu muốn thủ công thì thực hiện gọi và hiển thị ngay trong
click()
.
Nếu là thủ công thì việc nhấn nhiều lần sẽ làm dữ liệu bị lặp lại.
Hoặc là chỉ cho nhấn 1 lần, hoặc là các lần nhấn sau thì tải thêm dữ liệu khác (kế tiếp) nữa.
$.ajax({
url:"page",
data:{},
success: function(data){
// Thực hiện hiển thị dữ liệu ở đây theo tham biến data của hàm.
}
});
Còn nhiều cách thực hiện nữa, bạn có thể tìm hiểu thêm.
https://api.jquery.com/jquery.ajax/