अवैध फॉर्म जमा करने के साथ POST / रीडायरेक्ट / GET?


11

वेब विकास के क्षेत्र में, क्या एक POST / रीडायरेक्ट / GET करना अच्छा है जब एक फॉर्म सबमिशन में फ़ील्ड अमान्य हैं, साथ ही साथ?

आमतौर पर, इस घटना में कोई संवेदनशील लेन-देन नहीं हुआ होगा। हालाँकि, क्या एक तर्क दिया जा सकता है कि, फिर भी, POST / Redirect / GET पैटर्न का उपयोग करना अच्छा है?

जवाबों:


10

REST के नजरिए से वेब वार्तालाप को इस तरह जाना चाहिए

GET / उदाहरण है

200 ठीक - खाली फॉर्म HTML शामिल है

उपयोगकर्ता फॉर्म भरता है

पोस्ट / उदाहरण

formfield1 = ठीक

formfield2 = बुरा

400 BAD REQUEST - त्रुटियों के साथ आबाद फ़ॉर्म HTML है

उपयोगकर्ता प्रपत्र सबमिट करने के साथ समस्या की पहचान करता है और उसे ठीक करता है

पोस्ट / उदाहरण

formfield1 = ठीक

formfield2 = तय

201 बनाया - सफलता संदेश और आगे के लिंक के साथ HTML भी शामिल है (अन्य ग्राहकों के लिए स्थान हेडर) या 200 ठीक है और 204 नंबर स्वीकार्य नहीं हैं

रीडायरेक्ट शुरू करने की आवश्यकता नहीं है, और ऐसा करने के लिए यह बातचीत के शब्दार्थ को तोड़ देगा।


1
हे वाह, हाँ, मैं रीस्ट के बारे में कैसे भूल सकता था, या सामान्य रूप से बस HTTP स्थिति कोड। यह सवाल पूछने पर मुझे ब्रेन फार्ट हुआ था। धन्यवाद!
दिक्बलर

1
PRG पैटर्न में रीडायरेक्ट, हालांकि, वहाँ एक प्रवेश के कारण होता है जो "वार्तालाप के शब्दार्थ" को बनाए रखना हैम-फ़ेड्ड उपयोगकर्ताओं को F5 को मैश करने से रोकने और "जो फिर से शुरू हो जाएगा" की अनदेखी करने से कम महत्वपूर्ण है .. इस चेतावनी से उनका ब्राउज़र।
कार्सन ६३०००

पर्याप्त रूप से, यही वजह है कि मैंने आरईएसटी के परिप्रेक्ष्य का उल्लेख किया।
गैरी रोवे

5

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


2
एक सत्र में परिणाम को अस्थायी रूप से संग्रहीत करके (एक अनुवर्ती अनुरोध की अवधि के लिए)?
दिक्बलर

2
@fireeyedboy: हाँ, यह करूँगा .. हालांकि एक कीचड़ का एक सा लगता है।
कार्सन 63000
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.