jQuery ajax - post() विधि

उदाहरण

test.php वेब पेज को अनुरोध करें, प्रतिक्रिया मूल्य को अनदेखा करें:

$.post("test.php");

TIY उदाहरण

AJAX POST अनुरोध से div एलेमेंट के टेक्स्ट को बदलें:

$("input").keyup(function(){
  txt=$("input").val();
  $.post("demo_ajax_gethint.asp",{suggest:txt},function(result){
    $("span").html(result);
  });
});

स्वयं प्रयोग करें

व्याख्या और उपयोग

post() विधि HTTP POST अनुरोध से सर्वर से डाटा लोड करती है。

व्याकरण

jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)
पारामीटर वर्णन
url अनिवार्य। अनुरोध को भेजने के लिए जाने वाला URL को निर्धारित करता है。
data वृद्धियुक्त। मैपिंग या स्ट्रिंग मान। अनुरोध के साथ सर्वर को भेजे जाने वाले डाटा को निर्धारित करता है。
success(data, textStatus, jqXHR) वृद्धियुक्त। अनुरोध सफल होने पर चलाने वाला कॉलबैक फ़ंक्शन。
dataType

वृद्धियुक्त। अपेक्षित सर्वर प्रतिक्रिया डाटा टाइप को निर्धारित करता है。

डिफ़ॉल्ट रूप से बुद्धिमानीपूर्ण निर्णय करता है (xml, json, script या html)。

विस्तृत वर्णन

यह फ़ंक्शन Ajax के संक्षिप्त फ़ंक्शन है, इसका बराबर:

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

अन्याय विभिन्न MIME टाइप के अनुसार, success कॉलबैक फ़ंक्शन को भेजे जाने वाले प्रतिक्रिया डाटा भिन्न होता है, ये डाटा XML रूपांतर, टेक्स्ट स्ट्रिंग, JavaScript फ़ाइल या JSON ऑब्जेक्ट हो सकता है। success कॉलबैक फ़ंक्शन को प्रतिक्रिया के टेक्स्ट स्टेटस को भी भेजा जा सकता है。

jQuery 1.5 के लिए success कॉलबैक फ़ंक्शन में भी भेजा जा सकता है jqXHR ऑब्जैक्ट(jQuery 1.4 में XMLHttpRequest ऑब्जेक्ट होता है)。

अधिकांश कार्यान्वयनों में एक success फ़ंक्शन निर्धारित किया जाता है:

$.post("ajax/test.html", function(data) {
  $(".result").html(data);
});

इस उदाहरण में, पूर्वकालीन HTML टुकड़ा पढ़ा जाता है और पृष्ठ में जोड़ा जाता है。

POST द्वारा पढ़ी गई पृष्ठ नहीं कैशेड होती, इसलिए jQuery.ajaxSetup() का cache और ifModified विकल्प इन अनुरोधों पर प्रभाव नहीं डालता है。

टिप्पणी:ब्राउज़र सुरक्षा की सीमाओं के कारण, अधिकांश "Ajax" अनुरोध समान-स्रोत रणनीति का पालन करते हैं; अलग डोमेन, सब-डोमेन या प्रोटोकॉल से अनुरोध को सफलता के साथ पूरा नहीं किया जा सकता है。

टिप्पणी:यदि jQuery.post() द्वारा आरंभ किए गए अनुरोध त्रुटि कोड वापस करता है, तो कोई संदेश नहीं दिखाया जाएगा, जब तक कि स्क्रिप्ट ने वैश्विक .ajaxError() विधि। या jQuery 1.5 के लिए, jQuery.post() द्वारा लूटे जाने वाले jqXHR ऑब्जैक्ट के .error() विधि को भी त्रुटि संबंधी प्रबंधन के लिए उपयोग किया जा सकता है。

jqXHR ऑब्जैक्ट

jQuery 1.5 के लिए, सभी jQuery के AJAX विधियाँ XMLHTTPRequest ऑब्जैक्ट का सुपरसेट लूट रही हैं। $.post() द्वारा लूटे जाने वाले jQuery XHR ऑब्जैक्ट या "jqXHR," कन्वेंशनल इंटरफेस को लागू करता है, जिससे उसे सभी गुण, विधियाँ और कन्वेंशनल व्यवहार दिया जाता है। इसके लिए $.ajax() उपयोग किए जाने वाले कॉलबैक फ़ंक्शन्स के नाम की सुविधा और समानता के लिए, यह .error(), .success() और .complete() विधियाँ प्रदान करता है। ये विधियाँ अनुरोध बंद होने पर बुलाए जाने वाले फ़ंक्शन पारामीटर का उपयोग करती हैं, जो नामकरण किए गए $.ajax() कॉलबैक फ़ंक्शन्स के समान पारामीटर लेती हैं。

jQuery 1.5 में कन्वेंशनल इंटरफेस जैसे jQuery के Ajax विधियों को भी अनुमति देता है, जिसमें $.post() भी शामिल है, यह एक ही अनुरोध के लिए कई .success()、.complete() और .error() कॉलबैक फ़ंक्शन्स को जोड़ने की अनुमति देता है, यहां तक कि जब भी अनुरोध पूरा हो गया हो, इन कॉलबैक फ़ंक्शन्स को आबंटित किया जा सकता है。

// 请求生成后立即分配处理程序,请记住该请求针对 jqxhr 对象
    var jqxhr = $.post("example.php", function() {
      अलर्ट("success");
    })
    .success(function() { अलर्ट("second success"); })
    .error(function() { अलर्ट("error"); })
    .complete(function() { अलर्ट("complete"); });
    // यहाँ अन्य कार्य करें
    // ऊपर के अनुरोध के लिए एक अन्य पूर्ण हुए फ़ंक्शन सेट करें
    jqxhr.complete(function(){ alert("second complete"); });

अधिक उदाहरण

उदाहरण 1

test.php पृष्ठ को अनुरोध करें, और अतिरिक्त डाटा भेजें (फिर भी वापसी अनदेखा करते हुए):

$.post("test.php", { name: "Bill", time: "2pm" } );

उदाहरण 2

सर्वर को डाटा एक्सएस भेजें (फिर भी वापसी अनदेखा करते हुए):

$.post("test.php", { 'choices[]': ["Jon", "Susan"] });

उदाहरण 3

ajax के जरिए फॉर्म डाटा भेजें:

$.post("test.php", $("#testform").serialize());

उदाहरण 4

test.php पृष्ठ से आने वाले परिणाम (HTML या XML, वापस किए गए सामग्री के आधार पर) उत्पन्न करें:

$.post("test.php", function(data){
   alert("Data Loaded: " + data);
 });

उदाहरण 5

test.php पृष्ठ को डाटा भेजें और परिणाम उत्पन्न करें (HTML या XML, वापस किए गए सामग्री के आधार पर):

$.post("test.php", { name: "Bill", time: "2pm" },
   function(data){
     alert("Data Loaded: " + data);
   });

उदाहरण 6

test.php पृष्ठ के सामग्री को प्राप्त करें और XMLHttpResponse ऑब्जेक्ट के रूप में संग्रहीत करें, और process() इस JavaScript फ़ंक्शन के द्वारा संसाधित करें:

$.post("test.php", { name: "Bill", time: "2pm" },
   function(data){
     process(data);
   }, "xml");

उदाहरण 7

test.php पृष्ठ से वापस दिए गए json फॉर्मेट के सामग्री प्राप्त करें:

$.post("test.php", { "func": "getNameAndTime" },
   function(data){
     alert(data.name); // Bill
     console.log(data.time); //  2pm
   }, "json");