jQuery ajax - post() metodu

Örnek

test.php web sayfasını istek, geri dönüştürülebilir değeri göz ardı et:

$.post("test.php");

TIY Örneği

AJAX POST istekleriyle div öğesinin metnini değiştirme:

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

Kişisel deneyim

Tanım ve Kullanım

post() metodu, HTTP POST istekleriyle verileri sunucudan yükler.

Sözdizimi

jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)
Parametreler Tanım
url Gerekli. İstek sunucuya hangi URL'ye gönderileceğini belirler.
data Opsiyonel. Harita veya dizgi değeri. İstekle birlikte sunucuya gönderilecek verileri belirler.
success(data, textStatus, jqXHR) Opsiyonel. Başarılı olduğunda yürütülecek geri çağrı fonksiyonu.
dataType

Opsiyonel. Beklenen sunucu yanıt veri türünü belirler.

Varsayılan olarak akıllı tahmin yapar (xml, json, script veya html).

Ayrıntılı tanım

Bu fonksiyon, kısaltılmış Ajax fonksiyonudur, şuyla eşdeğerdir:

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

Farklı MIME türlerine göre yanıt, success geri çağrı fonksiyonuna iletilen geri dönüştürülebilir veri türleri de değişir, bu veriler XML kök elemanı, metin dizisi, JavaScript dosyası veya JSON nesnesi olabilir. Ayrıca, success geri çağrı fonksiyonuna yanıtın metin durumu da iletilbilir.

jQuery 1.5 için, success geri çağrı fonksiyonuna da: jqXHR nesnesi(jQuery 1.4'te geçilen XMLHttpRequest nesnesi)。

Çoğu gerçekleştirme, bir success fonksiyonu belirler:

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

Bu örnek, istenen HTML parçasını okur ve sayfaya ekler.

POST ile okunan sayfalar önbelleklemez, bu yüzden jQuery.ajaxSetup() içindeki cache ve ifModified seçenekleri bu istekleri etkilemez.

Yorum:Tarayıcı güvenlik sınırlamaları nedeniyle, çoğu "Ajax" istekleri aynı kaynak stratejisine uygundur; farklı alan, alt alan veya protokole istekler başarılı olamaz.

Yorum:jQuery.post() tarafından başlatılan bir istek hata kodu döndürdüğünde, herhangi bir uyarı olmayacak, ancak script genel olan .ajaxError() yöntemiveya jQuery 1.5 için jQuery.post() tarafından döndürülen jqXHR nesnesinin .error() yöntemi de hata işleme için kullanılabilir.

jqXHR nesnesi

jQuery 1.5 için tüm jQuery AJAX yöntemleri, XMLHTTPRequest nesnesinin bir genişlemesidir. $.post() tarafından döndürülen jQuery XHR nesnesi veya "jqXHR," anlaşmalı arayüzü gerçekleştirir ve ona tüm özelliklerini, yöntemlerini ve anlaşmalı davranışlarını verir. Bu, $.ajax() Kullanılan geri bildirim fonksiyon adlarının kolaylık ve tutarlılık dikkate alınması, .error(), .success() ve .complete() yöntemlerini sağlar. Bu yöntemler, $.ajax() adlı geri bildirim fonksiyonları ile aynı parametreleri alan ve bu parametreleri alan fonksiyonları çağırır.

jQuery 1.5'teki anlaşmalı arayüz, $.post() dahil olmak üzere jQuery'nin Ajax yöntemlerini, aynı istek için birden fazla .success()、.complete() ve .error() geri bildirim fonksiyonlarını bağlamak için de izin verir, hatta bu geri bildirim fonksiyonlarını istek tamamlanmış olsa bile atayabilir.

// 请求生成后立即分配处理程序,请记住该请求针对 jqxhr 对象
    var jqxhr = $.post("example.php", function() {
      alert("success");
    })
    .success(function() { alert("second success"); })
    .error(function() { alert("error"); })
    .complete(function() { alert("complete"); });
    // Burada diğer görevleri gerçekleştirmek
    // Yukarıdaki istem için bir diğer tamamlanma fonksiyonu ayarlamak
    jqxhr.complete(function(){ alert("ikinci complete"); });

Daha Fazla Örnek

Örnek 1

test.php sayfasını talep etmek ve bazı ek veriler göndermek (ancak geri dönen değeri yine de göz ardı etmek):

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

Örnek 2

Sunucuya veri dizisi göndermek (ancak geri dönen değeri yine de göz ardı etmek):

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

Örnek 3

Ajax aracılığıyla form verilerini göndermek:

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

Örnek 4

test.php sayfasından gelen sonuçları (geri dönen içeriğe bağlı olarak HTML veya XML) çıkarın:

$.post("test.php", function(data){
   alert("Veri Yüklendi: " + data);
 });

Örnek 5

test.php sayfasına veri göndermek ve sonuçları (geri dönen içeriğe bağlı olarak HTML veya XML) çıkarmak:

$.post("test.php", { name: "Bill", time: "2pm" },
   function(data){
     alert("Veri Yüklendi: " + data);
   });

Örnek 6

test.php sayfasının içeriğini almak ve XMLHttpResponse nesnesi olarak saklamak, ardından process() JavaScript fonksiyonu ile işlemek:

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

Örnek 7

test.php sayfası tarafından dönen json biçimli içeriği almak için:

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