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); }); });
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");