के साथ ब्राउजर में अपडेट नहीं किया गया है, मेरे पास नीचे दिखाए गए फ्लास्क का उपयोग करके एक बहुत ही सरल पायथन प्रोग्राम है। यह एक पॉपअप और लॉगआउट के साथ एक लॉगिन संभालती है। समस्या यह है कि ब्राउज़र में यूआरएल को रीडायरेक्ट (url_for()) कॉल द्वारा अपडेट नहीं किया जाता है।ब्राउजर में यूआरएल रीडायरेक्ट (url_for ('xxx')) के बाद फ्लास्क में jQuery मोबाइल
@app.route('/')
def index():
if not 'username' in session:
# contains a button showing a login popup form with action set to '/login'
return render_template('welcome.html')
else:
# contains a logout button with a href to '/logout'
return render_template('webapp.html')
@app.route('/login', methods=['POST'])
def login():
session['username'] = request.form['username']
return redirect(url_for('index'))
@app.route('/logout')
def logout():
session.pop('username', None)
return redirect(url_for('index'))
स्वागत पृष्ठ '/' तक पहुंचने पर दिखाया गया है। जब मैं बटन पर क्लिक करता हूं, तो लॉगिन पॉपअप दिखाया जाता है और इसकी फॉर्म क्रिया '/ login' पर रीडायरेक्ट होती है। यह काम करता है और लॉगिन() फ़ंक्शन को कॉल और निष्पादित किया जाता है। रीडायरेक्ट भी है, लेकिन ब्राउजर प्रदर्शित यूआरएल अपडेट नहीं करता है।
तो वेबपैप पृष्ठ/लॉगऑन यूआरएल के साथ दिखाया गया है। जब मैं रीलोड पर क्लिक करता हूं तो मुझे एक त्रुटि मिलती है क्योंकि यह पुनः लोड/लॉगऑन करने का प्रयास करता है, जबकि इसे पुनः लोड करना चाहिए '/' जहां इसे रीडायरेक्ट किया गया है।
वही/लॉगआउट के साथ होता है। जब वेबपैप पेज दिखाया जाता है और मैं लॉगआउट बटन पर क्लिक करता हूं, तो/लॉगआउट पेज लोड होता है जो लॉगआउट() फ़ंक्शन निष्पादित करता है और अनुक्रमणिका में रीडायरेक्ट करता है। लेकिन यूआरएल लॉगआउट करने के लिए छोड़ दिया गया है।
यदि मैं पृष्ठ को फिर से लोड करता हूं, तो यह सफल होता है क्योंकि/लॉगआउट जीईटी विधि स्वीकार करता है और फिर यूआरएल को अपडेट किया जाता है/जैसा कि यह पहले स्थान पर होना चाहिए था।
मुझे लगता है कि यह एक jQuery मोबाइल मुद्दा है, लेकिन समस्या का पता नहीं लगा सकता है। पायथन और फ्लास्क बिंदु से यह सभी लॉगिन उदाहरणों से मेल खाता है जो मुझे मिल सकता है।
यही वह है - बस कुछ पुराने कोड के आसपास खोद रहा था जिसे मैंने इसे खोजने की कोशिश की थी ... :) ओह ठीक है! –