संदर्भ: http://www.openjs.com/articles/ajax_xmlhttp_using_post.php
पोस्ट विधि
हम कुछ संशोधन करने जा रहे हैं ताकि अनुरोध भेजते समय POST विधि का उपयोग किया जाएगा ...
var url = "get_data.php";
var params = "lorem=ipsum&name=binny";
http.open("POST", url, true);
//Send the proper header information along with the request
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
http.onreadystatechange = function() {//Call a function when the state changes.
if(http.readyState == 4 && http.status == 200) {
alert(http.responseText);
}
}
http.send(params);
कुछ http हेडर किसी भी POST अनुरोध के साथ सेट किए जाने चाहिए। तो हम उन्हें इन लाइनों में सेट करते हैं ...
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
उपरोक्त पंक्तियों के साथ हम मूल रूप से कह रहे हैं कि डेटा भेजें एक फॉर्म सबमिशन के प्रारूप में है। हम जो पैरामीटर भेज रहे हैं उसकी लंबाई भी देते हैं।
http.onreadystatechange = function() {//Call a function when the state changes.
if(http.readyState == 4 && http.status == 200) {
alert(http.responseText);
}
}
हमने 'रेडी स्टेट' परिवर्तन कार्यक्रम के लिए एक हैंडलर सेट किया। यह वही हैंडलर है जिसका उपयोग हमने GET विधि के लिए किया था। आप यहां http.responseText का उपयोग कर सकते हैं - इनरएचटीएमएल (एएचएएच) का उपयोग करते हुए एक div में डालें, इसे (JSON) या किसी और चीज से बाहर निकालें।
http.send(params);
अंत में, हम अनुरोध के साथ पैरामीटर भेजते हैं। इस लाइन को कहा जाने के बाद ही दिए गए url को लोड किया जाता है। GET विधि में, पैरामीटर एक शून्य मान होगा। लेकिन POST विधि में, भेजे जाने वाले डेटा को सेंड फंक्शन के तर्क के रूप में भेजा जाएगा। दूसरी पंक्ति में परमर्स वैरिएबल घोषित किया गया था lorem=ipsum&name=binny
- इसलिए हम दो मापदंडों - 'लोरेम' और 'नाम' को क्रमशः 'इप्सम' और 'बिन्नी' के साथ भेजते हैं।