2010-10-14 44 views
6

Trong ứng dụng của tôi, tôi đang tải một số bảng bằng AJAX. Nhưng khi thời gian phiên của người dùng ra nó mang lại cho tôi trang đăng nhập như là phản ứng được tải trong khu vực bảng.Phản hồi thời gian chờ của phiên trong AJAX

Tôi muốn chuyển hướng đến trang đăng nhập có thể bằng javascript khi hết thời gian chờ của phiên trong khi gọi AJAX.

+0

Tôi đã quá muộn để nghĩ một câu hỏi như thế này và đã tìm thấy câu hỏi của bạn. trong bất kỳ tải trang (phía máy chủ) tôi kiểm tra sự tồn tại của người dùng. nếu họ không đăng nhập thì tôi sẽ chỉ chết một chuỗi sẽ chứa ajaxtimeout. Hầu hết các thư viện của tôi kiểm tra responsetext.indexof ('ajaxtimeout') và trong trường hợp này tôi sẽ window.location = login page. –

Trả lời

5

Khi hiển thị trang đăng nhập, bạn có thể thêm tiêu đề HTTP tùy chỉnh vào phản hồi: X-LOGIN-PAGE: True. Sau đó thực hiện cuộc gọi AJAX của bạn và kiểm tra sự hiện diện của tiêu đề tùy chỉnh này trong cuộc gọi lại thành công. Hành động phù hợp nếu có.

+0

Trong trường hợp đó, tôi cần kiểm tra điều này trong mỗi cuộc gọi AJAX trên tất cả các trang. –

+1

Nếu bạn đang sử dụng jquery bạn có thể thiết lập các tùy chọn ajax toàn cầu: [jquery.ajaxSetup] (http://api.jquery.com/jQuery.ajaxSetup/) và thực hiện chuyển hướng trong cuộc gọi lại 'complete' mà không sửa đổi các cuộc gọi AJAX hiện có của bạn . Nếu bạn không sử dụng jQuery, tùy thuộc vào cách bạn đang thực hiện các cuộc gọi AJAX của bạn có thể có hoặc có thể không phải là giải pháp. –

0

Bạn có thể kiểm tra xác thực trong phương thức được gọi bằng cuộc gọi AJAX và nếu không tìm thấy, bạn chỉ có thể trả lại cờ. Trong trình xử lý AJAX trong trang khách hàng, bạn có thể phát hiện và chuyển hướng đến trang đăng nhập.

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