मुझे वर्तमान में HTTP पोस्ट फॉर्म और इतिहास पुशस्टेट के साथ एक छोटी सी समस्या का सामना करना पड़ रहा है।history.pushstate और HTTP POST फॉर्म repost
जब मेरा उपयोगकर्ता example.com/page-1
में पोस्ट फॉर्म सबमिट करता है और फिर इस पृष्ठ के भीतर एक लिंक पर क्लिक करता है, तो उसे इतिहास.pushstate के साथ example.com/page-2
पर रीडायरेक्ट किया जाता है। जेएस स्क्रिप्ट सिर्फ वर्तमान यूआरएल को बदलती है, पुराने को इतिहास में धक्का देती है, और फिर नई सामग्री प्रदर्शित करती है। यह मेरे लिए बिल्कुल ठीक काम करता है।
समस्या: एक बार उपयोगकर्ता example.com/page-2
पर है और मैन्युअल पेज (Ctrl + R या ताज़ा बटन) ताज़ा करता है, Chromes फ़ॉर्म पुनः सबमिट करने उपयोगकर्ता को संकेत देता; लेकिन फॉर्म वास्तव में example.com/page-1
में था और इस "नए" पृष्ठ में फिर से पूछने का कोई कारण नहीं है।
ब्राउज़र से रिपोस्ट प्रॉम्प्ट को रोकने के लिए पॉपस्टेट परिवर्तन पर जावास्क्रिप्ट में पहले से सबमिट किए गए सभी डेटा को साफ़ करने का कोई तरीका है? या क्या मैं अपने इतिहास के राज्यों में कुछ खो रहा हूं? या क्या यह वर्तमान में ब्राउज़र द्वारा अभी तक लागू नहीं किया गया है?
मैंने केवल क्रोम के साथ इसका परीक्षण किया क्योंकि मैं अन्य ब्राउज़रों के साथ पुशस्टेट को लागू नहीं करता हूं।
हाय, मुझे प्रतिस्थापन के साथ एक ही समस्या मिली है, लेकिन अब मैं अजाक्स के माध्यम से अपने फॉर्म भेजता हूं जो समस्या हल करता है। मुझे लगता है कि AJAX के माध्यम से फ़ॉर्म भेजने के बिना जावास्क्रिप्ट इतिहास.pushstate और replacestate का उपयोग करना एक अच्छी बात नहीं है क्योंकि jquery, mootools आदि के साथ ऐसा करना बहुत आसान है। – pafounet