2013-07-18 4 views
6

मैं जानता हूँ कि ajax पूरा करने के लिए कैसे प्रतीक्षा करने के लिए, लेकिन अगर मैं एक पृष्ठ रीडायरेक्ट करने के लिए कुछ ajax कॉल के बाद बंद निकाल दिया जाता है जा रहा हूँ, मैं पुन: निर्देशन से पहले पूरा करने के लिए उनके लिए इंतजार करना चाहिए? फर्क पड़ता है क्या?क्या मुझे किसी पेज को रीडायरेक्ट करने के लिए AJAX को पूरा करने की प्रतीक्षा करनी चाहिए?

+5

मुझे लगता है कि यह निर्भर करता है कि अगर आपको AJAX कॉल द्वारा लौटाए गए स्टेटस कोड के आसपास कुछ त्रुटि-प्रक्रिया करने की आवश्यकता है। यदि आप इसे खत्म करने से पहले रीडायरेक्ट करते हैं तो आप कैसे जानते होंगे कि यह सही तरीके से चला गया है? – JanR

उत्तर

5

आपको विश्वास है कि ajax कॉल सफल हो जाएगा रहे हैं, तो एक बार ajax कॉल आ गई है, पुन: निर्देशित यह जहाँ तक को प्रभावित नहीं करेगा के रूप में अपने सर्वर चिंतित है। लेकिन मत भूलना, ग्राहक अपना कनेक्शन खो सकता है या कई त्रुटियां हो सकती हैं, इसलिए आपको यह सुनिश्चित करने के लिए शायद इंतजार करना चाहिए कि कॉल सफल रहे। विचार करने की एक और बात यह है कि क्या आपके AJAX कॉल उस पृष्ठ को प्रभावित करेंगे जो आप रीडायरेक्ट करने जा रहे हैं। उस मामले में निश्चित रूप से पुनर्निर्देशन से पहले प्रतीक्षा करें। आप नहीं चाहते हैं कि आपका उपयोगकर्ता टूटा हुआ पृष्ठ पर रीडायरेक्ट हो जाए क्योंकि उनका कनेक्शन धीमा था या आपके सर्वर में हिचकी थी।

+0

सच सच है। एक AJAX कॉल जो उदाहरण के लिए पृष्ठ दृश्यों की गणना करता है उसे सिर्फ भुला दिया जा सकता है। – Lix

+1

क्या AJAX पृष्ठ दृश्यों को गिनने का एक अच्छा तरीका है? जेएस के साथ उपयोगकर्ताओं को गिनती नहीं करेगा। –

+0

केवल 2% उपयोगकर्ताओं के पास जावास्क्रिप्ट अक्षम है: http://stackoverflow.com/questions/9478737/browser-statistics-on-javascript- अक्षम। तो वास्तव में यह इस बात पर निर्भर करता है कि आप कितना सटीक होना चाहते हैं ... मैं आमतौर पर उन लोगों को व्यक्तिगत रूप से अनदेखा करता हूं। – adavea

1

मैं संभावित त्रुटियों का इंतजार और संचालन करने की अनुशंसा करता हूं जो हो सकता है।

आप सुरक्षित कनेक्शन, त्रुटि खोलना, बेहतर सॉफ्टवेयर, तुल्यकालिक पूरी प्रक्रिया कर रही है, पुनर्निर्देशन अंत में आ रहा बनाकर हासिल।

आप 0.1 सेकंड अधिक निष्पादन खर्च कर सकते हैं लेकिन कौन परवाह करता है?

+0

सच नहीं है, यह प्रक्रिया जो मैं AJAX से करना चाहता हूं वह कुछ है जो 20secs के लिए जाता है। तो परवाह है। – vaso123

+0

कुछ समय बीतने के बाद से मैंने यह टिप्पणी की। मुझे क्या स्पष्ट होना चाहिए था, और मैं मूल रूप से स्वीकार किए गए उत्तर के समान ही कह रहा था, यह है कि यदि आप पूरी तरह से गारंटी दे सकते हैं कि निष्पादन सफल होगा तो सुनिश्चित करें कि आप रीडायरेक्ट कर सकते हैं, लेकिन एक मौका है कि कनेक्शन बस खो जाओ या अपवाद आएगा कि आप इसे संभालने में सक्षम होना चाहते हैं। – Jonast92

1

मैं तर्क दूंगा कि अजाक्स के बाद अजाक्स एक अच्छा उपयोग मामला नहीं है। इसके बजाय मैं नियमित सर्वर अनुरोध करने की सलाह दूंगा और फिर अपने अंतिम गंतव्य पर रीडायरेक्ट करने से पहले सर्वर पर सभी परिचालनों का ख्याल रखूंगा।

यह एक सरल पैटर्न और बहुत कम नेटवर्क यातायात के लिए तैयार करेगा। मैं उन मामलों में अजाक्स का उपयोग करने की अनुशंसा करता हूं जहां आप पृष्ठ को पुनः लोड करने से बचना चाहते हैं। हालांकि, आपके परिदृश्य में, आप जैसे ही आपके परिचालन पूरा कर चुके हैं, पेज को छोड़ने की योजना बना रहे हैं, इसलिए अजाक्स आपको आगे और आगे क्यों नहीं बचाएगा।

संबंधित मुद्दे

 संबंधित मुद्दे