ठीक है, डिफ़ॉल्ट कोई भी फ़ॉर्म पोस्ट के साथ काम कर रहे हैं, और उसके बाद उपयोगकर्ता वापस हिट और फिर से ताज़ा तो वे संदेश यह दर्शाता है कि ब्राउज़र डेटा को पुन: सबमिट कर रहा है देखेंगे द्वारा। लेकिन यदि पृष्ठ तुरंत समाप्त होने के लिए सेट है तो उन्हें रीफ्रेश भी नहीं करना पड़ेगा और वे देखेंगे कि पृष्ठ वापस आने पर संदेश समाप्त हो गया है।
दोनों संदेशों से बचने के लिए नीचे दिए कुछ कोशिश करने के लिए कर रहे हैं:
1) एक रूप के बजाय प्राप्त का उपयोग करें। यह इस बात पर निर्भर करता है कि आप क्या कर रहे हैं लेकिन यह हमेशा एक अच्छा समाधान नहीं है क्योंकि जीईटी अनुरोध पर अभी भी आकार प्रतिबंध हैं। और जानकारी क्वेरीस्ट्रिंग में पास की जाती है जो विकल्पों में से सबसे सुरक्षित नहीं है।
- या -
2) एक सर्वर साइड प्रदर्शन करना प्रपत्र पोस्ट के बाद एक अन्य पृष्ठ पर रीडायरेक्ट।
ऐसा लगता है कि इसी तरह के एक सवाल का जवाब यहां गया था:
Redirect with a 303 after POST to avoid "Webpage has expired": Will it work if there are more bytes than a GET request can handle?
एक तीसरा विकल्प एक बिल्कुल अपने ब्राउज़र में वापस जा रहा से एक उपयोगकर्ता को रोकने सकता है। ऐसा करने का एकमात्र समय मुझे ऐसा करने की आवश्यकता महसूस हुई थी कि उन्हें दो बार भुगतान करने जैसी बेवकूफ कुछ करने से रोका जाए। हालांकि इसे संभालने के लिए बेहतर सर्वर-साइड विधियां हैं। यदि आपकी साइट सत्र का उपयोग करती है तो आप चेकआउट पृष्ठ पर पहली बार कैश अक्षम करने और उसे तुरंत समाप्त होने पर दो बार भुगतान करने से रोक सकते हैं। और फिर आप किसी सत्र में संग्रहीत किसी प्रकार के ध्वज का उपयोग कर सकते हैं जो वास्तव में पृष्ठ के व्यवहार को बदल देगा यदि आप इसे वापस जाते हैं।
स्रोत
2009-10-16 19:59:07
बेहतर है
भाषा होगा:
/नोट अपने ऐप को डिज़ाइन करने के लिए बैक बटन का एक समझदार अर्थ है। जब मुझे बैक बटन का उपयोग करने की अनुमति नहीं है तो मुझे यह परेशान लगता है। – Peter
पीटर, मैं सहमत हूं। ऐसे समय होते हैं (जैसे ई-कॉमर्स साइट की चेकआउट प्रक्रिया) जब आप उपयोगकर्ता को वापस जाने से रोकने के लिए प्रेरित हो सकते हैं। हालांकि, उस समस्या के लिए एक बेहतर सर्वर-साइड समाधान है जो मैं अपने उत्तर में सुझाता हूं। –
@ पीटर, मैं पूरी तरह से सहमत हूं, लेकिन मैं वर्कफ़्लो से निपट रहा हूं इसलिए बैक बटन यहां लागू नहीं होता है। – mkoryak