2011-08-17 40 views
8

Tôi đang trong quá trình xây dựng một ứng dụng web có nghĩa là được sử dụng trên iPad (dấu trang đã lưu, thẻ xem cổng, v.v.). Webapp tạo một yêu cầu AJAX (sử dụng jQuery) sau mỗi 2 phút đến một máy chủ không an toàn (ví dụ: không có cookie phiên nào có thể hết thời gian chờ) trả về JSON.Lỗi AJAX cuộc gọi trên iPad sau 30 phút

Tuy nhiên, sau 30 phút, các yêu cầu ngừng chuyển sang máy chủ và tôi cho rằng ngừng gửi từ iPad. Tôi đã nhìn vào các đối số để gọi lại lỗi của jQuery, hiển thị textStatus == "Error"errorThrown == "". Yup, không có gì cho errorThrown, một phần lý do tại sao tôi bị hoang mang.

Tôi đã thử thực hiện các cuộc gọi AJAX do người dùng khởi tạo sau 30 phút, trả về cùng một lỗi. Trong trường hợp nó không rõ ràng, javascript vẫn chạy: nó chỉ là các cuộc gọi AJAX mà không thành công. Ngoài ra, hành vi này không xảy ra ở bất cứ đâu ngoài iPad.

Bất kỳ ý tưởng nào tại sao điều này đang xảy ra hoặc cách khắc phục?

+0

Bạn có thể sử dụng Wireshark để kiểm tra lưu lượng truy cập HTTP đến và đi từ máy chủ không? –

+0

điểm tốt, tôi sẽ thử rằng – thenoviceoof

+0

Tôi tự hỏi nếu có một số thiết lập trong Ipad ngăn cản quá nhiều yêu cầu xảy ra trong một khoảng thời gian nhất định như một phương pháp bảo mật ngăn chặn các yêu cầu chạy trên thiết bị không dây. Tuy nhiên, tôi không có kinh nghiệm với các thiết bị Ipad. – Caimen

Trả lời

2

Nó chỉ ra rằng iPad 2 nerfs AJAX yêu cầu sau 30 phút ngồi trên cùng một trang (ví dụ: một ứng dụng web lâu đời) khi sử dụng pin. Có vẻ như không phải là cài đặt có thể định cấu hình người dùng để thay đổi thời gian chờ này.

+0

Suy nghĩ ngẫu nhiên. Việc thay đổi document.location.hash có lừa nó vào một trang mới đã được tải không? Sẽ là hacky, nhưng có thể cung cấp một workaround. –

+0

Tôi đã thử tải lại trang sau mỗi 27 phút, không hoạt động, vì nó bị ngắt kết nối ở mốc 30 phút, vì vậy tôi nghi ngờ thao tác băm sẽ đánh lừa nó. – thenoviceoof

Các vấn đề liên quan