AJAX

2010-10-14 10 views
6

में सत्र टाइमआउट प्रतिक्रिया मेरे आवेदन में, मैं AJAX का उपयोग करके कुछ तालिका लोड कर रहा हूं। लेकिन जब उपयोगकर्ता का सत्र समाप्त होता है तो यह मुझे लॉगिन पृष्ठ देता है क्योंकि प्रतिक्रिया क्षेत्र में लोड हो जाता है।AJAX

मैं AJAX कॉल के दौरान सत्र समय समाप्ति के दौरान लॉगिन पृष्ठ पर रीडायरेक्ट करना चाहता हूं जावास्क्रिप्ट में हो सकता है।

+0

मुझे इस तरह के एक प्रश्न को सोचने में बहुत देर हो चुकी है और आपका पता चला है। किसी भी पेज लोड (सर्वर पक्ष) में मैं उपयोगकर्ता अस्तित्व की जांच करता हूं। अगर वे लॉग इन नहीं हैं तो मैं सिर्फ एक स्ट्रिंग मर जाऊंगा जिसमें AJAXtimeout होगा। मेरे अधिकांश पुस्तकालय respondetext.indexof ('AJAXtimeout') के लिए जांचते हैं और इस मामले में मैं window.location = लॉगिन पेज करूंगा। –

उत्तर

5

लॉगिन पृष्ठ को प्रस्तुत करते समय आप प्रतिक्रिया के लिए कस्टम HTTP शीर्षलेख जोड़ सकते हैं: X-LOGIN-PAGE: True। फिर अपने AJAX कॉल करें और सफलता कॉलबैक में इस कस्टम शीर्षलेख की उपस्थिति की जांच करें। तदनुसार अधिनियम अगर अधिनियम।

+0

उस स्थिति में मुझे सभी पृष्ठों पर प्रत्येक AJAX कॉल में इसे जांचना होगा। –

+1

यदि आप jquery का उपयोग कर रहे हैं तो आप वैश्विक AJAX विकल्पों को सेट कर सकते हैं: [jquery.ajaxSetup] (http://api.jquery.com/jQuery.ajaxSetup/) और अपने मौजूदा AJAX कॉल को संशोधित किए बिना 'पूर्ण' कॉलबैक में रीडायरेक्ट करें । यदि आप jQuery का उपयोग नहीं कर रहे हैं, तो आप अपने AJAX कॉल को कैसे कर रहे हैं इस पर निर्भर करता है कि समाधान हो सकते हैं या नहीं। –

0

आप AJAX कॉल द्वारा बुलाए जाने वाले तरीके में प्रमाणीकरण की जांच कर सकते हैं और यदि नहीं मिला तो बस ध्वज लौटा सकता है। क्लाइंट पेज में AJAX हैंडलर में, आप लॉगिन पेज का पता लगा सकते हैं और रीडायरेक्ट कर सकते हैं।