Tôi đã tự hỏi liệu có ai đó có thể giúp tôi không. Tôi có một trang php mà echos ra hàng từ một cơ sở dữ liệu. Tôi muốn gọi nó qua jquery/ajax cứ 30 giây một lần. Nhưng tôi cũng muốn có thể gọi trang bất kỳ lúc nào để nếu tôi thêm bản ghi thông qua biểu mẫu, khi biểu mẫu gửi tôi muốn trang qua được gọi tới ajax để cập nhật kết quả ngay lập tức. Bất cứ ai có thể chỉ cho tôi đi đúng hướng hoặc cung cấp một số mã cơ sở để tôi có thể cố gắng tìm ra điều này? Vẫn còn rất mới để jquery/ajax.Cuộc gọi Jquery/Ajax với bộ hẹn giờ
37
A
Trả lời
67
Nếu bạn muốn thiết lập một cái gì đó trên một bộ đếm thời gian, bạn có thể sử dụng JavaScript của setTimeout
hoặc setInterval
phương pháp:
setTimeout (expression, timeout);
setInterval (expression, interval);
đâu expression
là một chức năng và timeout
và interval
là các số nguyên trong mili giây. setTimeout
chạy bộ đếm thời gian một lần và chạy expression
một lần trong khi setInterval sẽ chạy expression
mỗi lần vượt qua interval
.
Vì vậy, trong trường hợp của bạn nó sẽ làm việc như thế này:
setInterval(function() {
//call $.ajax here
}, 5000); //5 seconds
Theo như Ajax đi, xem jQuery ajax()
method. Nếu bạn chạy một khoảng thời gian, không có gì ngăn bạn gọi cùng một số ajax()
từ các vị trí khác trong mã của bạn.
Các vấn đề liên quan
- 1. Cuộc gọi nối tiếp đến Threading.Timer.Change() có đặt lại đồng hồ của bộ hẹn giờ không?
- 2. Android - Kiểm soát tác vụ với Bộ hẹn giờ và Bộ hẹn giờ?
- 3. Dịch vụ Windows với bộ hẹn giờ
- 4. So sánh Bộ hẹn giờ với DispatcherTimer
- 5. Tạo Bộ hẹn giờ iOS
- 6. select() - bộ hẹn giờ có thể
- 7. Bộ hẹn giờ trong Windows
- 8. Bộ hẹn giờ và javafx
- 9. Bộ hẹn giờ trong clojure?
- 10. _.delay() - làm mất bộ hẹn giờ
- 11. Bộ hẹn giờ nhanh, đa nền tảng?
- 12. Chuyển hướng với Bộ hẹn giờ bằng PHP?
- 13. Hộp cảnh báo JavaScript với bộ hẹn giờ
- 14. Sử dụng Bộ hẹn giờ trong C#
- 15. hiển thị bộ hẹn giờ trong nhãn
- 16. Khi một chuỗi gọi lệnh SetWaitableTimer thoát trong khi một chuỗi khác đang chờ trên bộ hẹn giờ, bộ hẹn giờ có bị hủy không?
- 17. Dừng hẹn giờ trong phương thức gọi lại
- 18. vòng hẹn giờ javascript
- 19. Phương thức gọi lại bằng hẹn giờ Python
- 20. Đồng bộ hóa bộ hẹn giờ để ngăn chồng chéo
- 21. C# 5 và bộ hẹn giờ không đồng bộ
- 22. Cách triển khai bộ hẹn giờ trong C trên windows
- 23. thực hiện bộ hẹn giờ ngay sau khi bắt đầu?
- 24. Cuộc gọi Ajax khi hết giờ
- 25. Công việc hẹn giờ SharePoint không được gọi
- 26. Cuộc gọi đồng bộ với jquery
- 27. dispatch_source_cancel trên bộ hẹn giờ bị tạm dừng khiến EXC_BAD_INSTRUCTION
- 28. Làm mới giao diện người dùng với Bộ hẹn giờ trong WPF (với BackgroundWorker?)
- 29. cocos2d: Cách đặt hẹn giờ
- 30. Bộ hẹn giờ có độ chính xác tốt hơn so với giấc ngủ()
Cảm ơn bạn đã trả lời! Vì vậy, câu nói của bạn nếu tôi sử dụng đoạn mã trên để làm mới cuộc gọi ajax cứ 5 giây một lần thì trên cùng một trang, tôi có một biểu mẫu mà người đó điền vào, sau khi thực hiện thêm bản ghi, tôi có thể gọi cùng hàm setInterval ở trên và nó sẽ không có 2 trường hợp của hàm đó chạy cùng một lúc? – John
Vì vậy, những gì bạn muốn là cho một khoảng thời gian để chạy mỗi 30 giây * cho đến khi * người dùng bắt đầu gửi biểu mẫu ... và sau đó tạo một khoảng thời gian mới sau đó? Điều đó cũng có thể. 'setInterval()' trả về một số nguyên là ID của khoảng thời gian. Nếu bạn lưu trữ ID đó trong một biến, sau đó bạn có thể gọi 'clearInterval (id)' sẽ dừng tiến trình. Sau đó, bạn có thể khôi phục lại cuộc gọi 'setInterval()' sau khi bạn đã hoàn tất việc gửi biểu mẫu ajax của mình. – treeface