黄色电影一区二区,韩国少妇自慰A片免费看,精品人妻少妇一级毛片免费蜜桃AV按摩师 ,超碰 香蕉

jQuery ajax post() 方法

jQuery ajax post() 方法

jQuery 參考手冊 AjaxjQuery 參考手冊 Ajax

post() 方法通過 HTTP POST 請求從服務(wù)器載入數(shù)據(jù)。

 

1. 語法

jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)
參數(shù) 描述
url 必需。規(guī)定把請求發(fā)送到哪個 URL。
data 可選。映射或字符串值。規(guī)定連同請求發(fā)送到服務(wù)器的數(shù)據(jù)。
success(data, textStatus, jqXHR) 可選。請求成功時執(zhí)行的回調(diào)函數(shù)。
dataType

可選。規(guī)定預(yù)期的服務(wù)器響應(yīng)的數(shù)據(jù)類型。

默認(rèn)執(zhí)行智能判斷(xml、json、script 或 html)。

詳細(xì)說明

該函數(shù)是簡寫的 Ajax 函數(shù),等價于:

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

根據(jù)響應(yīng)的不同的 MIME 類型,傳遞給 success 回調(diào)函數(shù)的返回數(shù)據(jù)也有所不同,這些數(shù)據(jù)可以是 XML 根元素、文本字符串、JavaScript 文件或者 JSON 對象。也可向 success 回調(diào)函數(shù)傳遞響應(yīng)的文本狀態(tài)。

對于 jQuery 1.5,也可以向 success 回調(diào)函數(shù)傳遞 jqXHR 對象(jQuery 1.4 中傳遞的是 XMLHttpRequest 對象)。

大部分實現(xiàn)會規(guī)定一個 success 函數(shù):

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

本例讀取被請求的 HTML 片段,并插入頁面中。

通過 POST 讀取的頁面不被緩存,因此 jQuery.ajaxSetup() 中的 cache 和 ifModified 選項不會影響這些請求。

注釋:由于瀏覽器安全方面的限制,大多數(shù) "Ajax" 請求遵守同源策略;請求無法從不同的域、子域或協(xié)議成功地取回數(shù)據(jù)。

注釋:如果由 jQuery.post() 發(fā)起的請求返回錯誤代碼,那么不會有任何提示,除非腳本已調(diào)用了全局的 .ajaxError() 方法。或者對于 jQuery 1.5,jQuery.post() 返回的 jqXHR 對象的 .error() 方法也可以用于錯誤處理。

 

2. 范例

請求 test.php 網(wǎng)頁,忽略返回值:

$.post("test.php");

TIY 范例

通過 AJAX POST 請求改變 div 元素的文本:

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

 

3. jqXHR 對象

對于 jQuery 1.5,所有 jQuery 的 AJAX 方法返回的是 XMLHTTPRequest 對象的超集。由 $.post() 返回的 jQuery XHR 對象或 "jqXHR,"實現(xiàn)了約定的接口,賦予其所有的屬性、方法,以及約定的行為。出于對由 $.ajax() 使用的回調(diào)函數(shù)名稱便利性和一致性的考慮,它提供了 .error(), .success() 以及 .complete() 方法。這些方法使用請求終止時調(diào)用的函數(shù)參數(shù),該函數(shù)接受與對應(yīng)命名的 $.ajax() 回調(diào)函數(shù)相同的參數(shù)。

jQuery 1.5 中的約定接口同樣允許 jQuery 的 Ajax 方法,包括 $.post(),來鏈接同一請求的多個 .success()、.complete() 以及 .error() 回調(diào)函數(shù),甚至?xí)谡埱笠苍S已經(jīng)完成后分配這些回調(diào)函數(shù)。

// 請求生成后立即分配處理程序,請記住該請求針對 jqxhr 對象     var jqxhr = $.post("example.php", function() {
      alert("success");
    })
    .success(function() { alert("second success"); })
    .error(function() { alert("error"); })
    .complete(function() { alert("complete"); });
    // 在這里執(zhí)行其他任務(wù) 	
    // 為上面的請求設(shè)置另一個完成函數(shù)     jqxhr.complete(function(){ alert("second complete"); });

 

4. 更多范例

例子 1

請求 test.php 頁面,并一起發(fā)送一些額外的數(shù)據(jù)(同時仍然忽略返回值):

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

例子 2

向服務(wù)器傳遞數(shù)據(jù)數(shù)組(同時仍然忽略返回值):

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

例子 3

使用 ajax 請求發(fā)送表單數(shù)據(jù):

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

例子 4

輸出來自請求頁面 test.php 的結(jié)果(HTML 或 XML,取決于所返回的內(nèi)容):

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

例子 5

向頁面 test.php 發(fā)送數(shù)據(jù),并輸出結(jié)果(HTML 或 XML,取決于所返回的內(nèi)容):

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

例子 6

獲得 test.php 頁面的內(nèi)容,并存儲為 XMLHttpResponse 對象,并通過 process() 這個 JavaScript 函數(shù)進(jìn)行處理:

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

例子 7

獲得 test.php 頁面返回的 json 格式的內(nèi)容:

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

jQuery 參考手冊 AjaxjQuery 參考手冊 Ajax

下一節(jié):jQuery ajax serialize() 方法

jQuery 教程

相關(guān)文章