HTML <form> method एट्रिब्यूट

व्याख्या और इस्तेमाल

method एट्रिब्यूट फॉर्म डाटा को कैसे भेजने का निर्देश देता है (फॉर्म डाटा action एट्रिब्यूट के निर्दिष्ट पृष्ठ पर भेजा जाएगा)

फॉर्म डाटा को URL वेरियेबल (method="get" के इस्तेमाल से) या HTTP POST ट्रांजेक्शन (method="post" के इस्तेमाल से) के रूप में भेजा जा सकता है

GET के बारे में:

  • फॉर्म डाटा को नाम/मूल्य जोड़ी (पॉइंट) के रूप में URL में जोड़ दें
  • URL की लंबाई सीमा है (लगभग 3000 अक्षर)
  • संवेदनशील डाटा को GET के जरिए भेजने का कभी नहीं करें! (यह URL में दिखेगा)
  • यह उपयोगकर्ता के लिए जो परिणाम को बुकमार्क के रूप में जोड़ना चाहते हैं तो फॉर्म सबमिट के लिए बहुत उपयोगी है
  • GET असुरक्षित डाटा के लिए अधिक उपयोगी है, जैसे Google में क्वेरी स्ट्रिंग।

POST के बारे में वर्णन:

  • फॉर्म डाटा को HTTP अनुरोध के मुख्य भाग में जोड़ा जाता है (डाटा URL में दिखाया नहीं जाता है)。
  • कोई आकार सीमा नहीं है。
  • POST से सबमिट किए गए फॉर्म को बुकमार्क में जोड़ा नहीं जा सकता है。

उदाहरण

उदाहरण 1

फॉर्म को 'get' विधि से सबमिट करें:

<form action="/action_page.php" method="get">
  <label for="fname">नाम:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <label for="lname">अपत्य:</label>
  <input type="text" id="lname" name="lname"><br><br>
  <input type="submit" value="सबमिट">
</form>

अपने आपको प्रयोग करें

उदाहरण 2

फॉर्म को 'post' विधि से सबमिट करें:

<form action="/action_page.php" method="post">
  <label for="fname">नाम:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <label for="lname">अपत्य:</label>
  <input type="text" id="lname" name="lname"><br><br>
  <input type="submit" value="सबमिट">
</form>

अपने आपको प्रयोग करें

व्याकरण

<form method="get|post">

अटिविटी मूल्य

मूल्य वर्णन
get मूलभूत। फॉर्म डाटा को नाम/मूल्य पारी के रूप में URL के बाद जोड़ें: URL?name=value&name=value。
post फॉर्म डाटा को HTTP post कार्यक्रम के रूप में भेजें

method अटिविटी का विस्तार

ब्राउज़र फॉर्म में डाटा को सर्वर को प्रसंस्करण के लिए भेजने के लिए method अटिविटी को सेट करता है। दो तरीके हैं: POST विधि और GET विधि。

यदि POST विधि का उपयोग किया जाता है, तो ब्राउज़र डाटा को दो प्रक्रियाओं के द्वारा भेजेगा। पहले, ब्राउज़र action अटिविटी में निर्दिष्ट फॉर्म प्रसंस्करण सर्वर से संपर्क स्थापित करेगा, एकबार कनेक्शन स्थापित होने के बाद, ब्राउज़र डाटा को सेक्शन किए हुए प्रेस क्रम में सर्वर को भेजेगा。

सर्वर पर, जब POST शैली का अनुप्रयोग शुरू होता है, तो एक संकेतक स्थान से पारामीटरों को पढ़ना चाहिए, और जब पारामीटरों को पढ़ा जाता है, तो इन पारामीटरों को डिकोड करना चाहिए, तब तक जब तक अनुप्रयोग इन फॉर्म मानदंडों को उपयोग कर सकता है। उपयोगकर्ता विशिष्ट सर्वर अनुप्रयोग को स्पष्ट रूप से इंगित करेगा कि इन पारामीटरों को कैसे स्वीकार किया जाना है。

एक अन्य स्थिति है GET विधि का उपयोग करना, इस समय ब्राउज़र फॉर्म प्रसंस्करण सर्वर से कनेक्शन स्थापित करेगा, फिर सभी फॉर्म डाटा को एक ही प्रेस क्रम में भेजेगा: ब्राउज़र डाटा को सीधे फॉर्म के action URL के बाद जोड़ देगा। इन दोनों के बीच एक प्रश्न चिह्न के द्वारा अलग किया जाता है。

सामान्य ब्राउज़र उपरोक्त किसी भी तरीके से फॉर्म सूचना को भेज सकते हैं, लेकिन कुछ सर्वर केवल इसमें से एक तरीके को स्वीकार करते हैं. <form> टैग के method (तरीका) अटेब्यूट को इस्तेमाल करके, फॉर्म संसाधन सर्वर को इस तरीके से डेटा को संसाधित करने के लिए कहा जा सकता है, इस तरीके को POST या GET के रूप में.

POST या GET?

यदि फॉर्म संसाधन सर्वर ने एक साथ POST और GET दोनों तरीकों को समर्थित किया है, तो आपको इस तरह का तरीका चुनना होगा? इस तरह के कुछ नियम हैं:

  • यदि आप बेहतर फॉर्म ट्रांसमिशन प्रदर्शन चाहते हैं, तो छोटे फॉर्मों को जिनमें कम और छोटे फील्ड हैं, GET तरीके से भेजना चाहिए.
  • कुछ सर्वर ऑपरेटिंग सिस्टम, जब उनको फॉर्म को सीधे अनुप्रयोग को पास करने के लिए आदेश कमान को संसाधित करते हैं, तो इस तरह के कार्य की संख्या और लंबाई को सीमित करते हैं, इस तरह के स्थिति में, किसी बहुत से फील्ड या लंबे टेक्स्ट फील्ड वाले फॉर्म को POST तरीके से भेजना चाहिए.
  • यदि आपको सर्वर परियोजना को फॉर्म को संसाधित करने का अनुभव नहीं है, तो GET तरीके को इस्तेमाल करें. POST तरीके को इस्तेमाल करने पर, पारामीटरों को पढ़ने और डिकोड करने में अतिरिक्त काम करना पड़ता है, जो बहुत कठिन नहीं है, लेकिन इन समस्याओं को संभालने के लिए आपको गैर-आनंद कर सकता है.
  • यदि सुरक्षा एक समस्या है, तो हमें POST तरीके को इस्तेमाल करने की सिफारिश करते हैं. GET तरीके फॉर्म पारामीटर को सीधे सर्वर के URL में रखता है, इसलिए नेटवर्क साइकलर को उन्हें आसानी से पकड़ा जा सकता है, और उन्हें सर्वर के लॉग फाइलों से निकाला जा सकता है. यदि पारामीटर में क्रेडिट कार्ड खाता जैसी संवेदनशील जानकारी है, तो उपयोगकर्ता की सुरक्षा को अनजाने में खतरा हो सकता है. और POST अनुप्रयोग कोई सुरक्षा की छेड़छाड़ नहीं है, और पारामीटर को सर्वर को स्वतंत्र कार्य के रूप में प्रेस करके संभाला जा सकता है, जो कम से कम गणना के तरीके से सुरक्षित है.
  • यदि आप फॉर्म के बाहर सर्वर परियोजना को आदेश देना चाहते हैं और उसको पारामीटर को भी पास करना चाहते हैं, तो GET तरीके को इस्तेमाल करें, क्योंकि इस तरीके से फॉर्म जैसे पारामीटर URL के एक हिस्से के रूप में शामिल किए जा सकते हैं. दूसरी ओर, POST तरीके के अनुसार के अनुप्रयोग चाहते हैं कि URL के बाद ब्राउज़र से एक अतिरिक्त प्रेस की प्रक्रिया हो, जिसमें प्रेस की प्रक्रिया को URL के साथ नहीं जोड़ा जाए.

स्पष्ट रूप से पारामीटर पास करना

पहले के कुछ सुझाव इस तरीके के चयन के लिए एक व्याख्या के रूप में भी काम कर सकते हैं. यदि आपके पास एक बहुत ही साधारण फॉर्म है, जिसमें केवल x और y दोनों पारामीटर हैं, तो इन एलीमेंटों के मान को कोडिंग करने का तरीका इस तरह का है:

x=28&y=66

यदि फॉर्म का method=GET है, तो सर्वर परियोजना को आदेश देने के लिए इस तरह की URL इस्तेमाल की जाती है:

http://www.example.com/example/program?x=28&y=66

किसी भी समय हम एक पारंपरिक <a> टैग बना सकते हैं, इसे इस तरह के फॉर्म को आदेश देने के लिए इस्तेमाल करते हैं:

<a href="http://www.example.com/example/program?x=28&y=66">

एकमात्र समस्या यह है कि पारामीटर को विभाजित करने के लिए इस्तेमाल किया जाने वाला & सूचकांक भी चार्जर के एक्टुअल समतुल्य में है।यदि <a> टैग के href अटिबाहत में & सूचकांक को डाला जाए, तो ब्राउज़र उसके बाद के चारकरोड़ को उसके चार्जर के समतुल्य में प्रतिस्थापित कर देगा。

इस स्थिति को रोकने के लिए, हमें & सूचकांक के इस्तेमाल के लिए उसके एक्टुअल समतुल्य को प्रतिस्थापित करना होगा, यानी "&" या "&" को प्रतिस्थापित करना है।प्रतिस्थापन के बाद, उपरोक्त निम्नलिखित उदाहरण फॉर्म बाहरी सर्वर अनुप्रयोग को उदाहरण में दिखाया जाएगा:

<a href="http://www.example.com/example/program?x=28&y=66">

इस तरह भी & सूचकांक को URL में इस्तेमाल नहीं किया जा सकता है और भविष्य में गड़बड़ी आ सकती है, इसलिए हम अनुरोध करते हैं कि सर्वर को अंत में भी सेक्स; को पारामीटर विभाजक के रूप में स्वीकार करने के लिए सेट किया जाए।आप अपने सर्वर के दस्तावेज़ को भी देख सकते हैं, सर्वर इस फ़ंक्शन को समर्थन करता है क्या।

ब्राउज़र समर्थन

च्रोम एज फायरफॉक्स सैफारी ओपेरा
च्रोम एज फायरफॉक्स सैफारी ओपेरा
सापोर्ट सापोर्ट सापोर्ट सापोर्ट सापोर्ट