用法
jQuery.post( url [, data ] [, success ] [, dataType ] ) => jqXHR
jQuery.post( url [, data ] [, success ] [, dataType ] ) => jqXHR
說明:使用 HTTP POST 請求向服務器發送數據。
-
添加的版本:1.0
jQuery.post( url [, data ] [, success ] [, dataType ] )
-
url類型:String包含請求發送到的 URL 的字符串。
-
data類型:PlainObject 或 String與請求一起發送到服務器的普通對象或字符串。
-
success類型:Function(PlainObject數據,String文本狀態,jqXHRjqXHR)請求成功時執行的回調函數。如果提供了
dataType
,則為必需,但在這種情況下可以是null
。 -
dataType類型:String服務器預期的數據類型。默認值:智能猜測(xml、json、腳本、文本、html)。
-
-
添加的版本:1.12-and-2.2
jQuery.post( [settings ] )
-
settings類型:PlainObject一組配置 Ajax 請求的鍵/值對。除
url
之外的所有屬性都是可選的。可以使用 $.ajaxSetup() 為任何選項設置默認值。有關所有設置的完整列表,請參閱jQuery.ajax( settings )。類型將自動設置為POST
。
-
這是一個簡寫的 Ajax 函數,相當於:
|
success
回調函數傳遞返回的數據,該數據將是 XML 根元素或文本字符串,具體取決於響應的 MIME 類型。它還傳遞了響應的文本狀態。
從 jQuery 1.5 開始, 這success
回調函數也傳遞了一個"jqXHR" 對象(在jQuery 1.4, 它通過了XMLHttpRequest
目的)。
大多數實現將指定一個成功處理程序:
|
此示例獲取請求的 HTML 片段並將其插入頁麵。
使用POST
獲取的頁麵永遠不會被緩存,因此jQuery.ajaxSetup()
中的cache
和ifModified
選項對這些請求沒有影響。
jqXHR 對象
從 jQuery 1.5 開始,所有 jQuery 的 Ajax 方法都返回一個超集XMLHTTPRequest
目的。這個 jQuery XHR 對象,或 "jqXHR," 返回$.post()
實現 Promise 接口,為其提供 Promise 的所有屬性、方法和行為(參見延遲對象了解更多信息)。這jqXHR.done()
(為了成功),jqXHR.fail()
(對於錯誤),和jqXHR.always()
(用於完成,無論是成功還是錯誤;在 jQuery 1.6 中添加)方法采用一個函數參數,該參數在請求終止時調用。有關此函數接收的參數的信息,請參閱jqXHR 對象的部分$.ajax()
文檔。
Promise 接口還允許 jQuery 的 Ajax 方法(包括 $.get()
)在單個請求上鏈接多個 .done()
、 .fail()
和 .always()
回調,甚至可以在請求完成後分配這些回調。如果請求已經完成,則立即觸發回調。
|
棄用通知
jqXHR.success()
,jqXHR.error()
, 和jqXHR.complete()
回調方法是從 jQuery 3.0 開始刪除.您可以使用jqXHR.done()
,jqXHR.fail()
, 和jqXHR.always()
反而。
其他注意事項:
- 由於瀏覽器安全限製,大多數 "Ajax" 請求都受製於 same origin policy ;請求無法從不同的域、子域、端口或協議成功檢索數據。
- 如果帶有 jQuery.post() 的請求返回錯誤代碼,它將靜默失敗,除非腳本還調用了全局 .ajaxError() 方法。或者,從 jQuery 1.5 開始,jQuery.post() 返回的
jqXHR
對象的.error()
方法也可用於錯誤處理。
例子:
請求test.php 頁麵,但忽略返回結果。
|
請求test.php 頁麵並發送一些額外的數據(同時仍然忽略返回結果)。
|
將數據數組傳遞給服務器(同時仍然忽略返回結果)。
|
使用 Ajax 請求發送表單數據
|
警告請求 test.php(HTML 或 XML,取決於返回的內容)的結果。
|
使用額外的數據負載(HTML 或 XML,取決於返回的內容)通過請求 test.php 來提醒結果。
|
發布到test.php頁麵,獲取已經以json格式返回的內容(<?php echo json_encode(array("name"=>"John","time"=>"2pm")); ?>)。
|
使用 Ajax 發布表單並將結果放入 div
|
演示:
相關用法
- JQuery jQuery.parseJSON()用法及代碼示例
- JQuery jQuery.proxy()用法及代碼示例
- JQuery jQuery.parseXML()用法及代碼示例
- JQuery jQuery.parseHTML()用法及代碼示例
- JQuery jQuery.param()用法及代碼示例
- JQuery jQuery.inArray()用法及代碼示例
- JQuery jQuery.when()用法及代碼示例
- JQuery Mobile jQuery.mobile.path.get()用法及代碼示例
- JQuery jQuery.grep()用法及代碼示例
- JQuery Mobile jQuery.mobile.navigate()用法及代碼示例
- JQuery Mobile jQuery.mobile.path.isRelativeUrl()用法及代碼示例
- JQuery jQuery.dequeue()用法及代碼示例
- JQuery jQuery.escapeSelector()用法及代碼示例
- JQuery Mobile jQuery.mobile.silentScroll()用法及代碼示例
- JQuery jQuery.cssNumber用法及代碼示例
- JQuery jQuery.map()用法及代碼示例
- JQuery jQuery.readyException()用法及代碼示例
- JQuery jQuery.contains()用法及代碼示例
- JQuery Mobile jQuery.mobile.path.makePathAbsolute()用法及代碼示例
- JQuery jQuery.each()用法及代碼示例
- JQuery jQuery.unique()用法及代碼示例
- JQuery jQuery.getJSON()用法及代碼示例
- JQuery jQuery.ajaxSetup()用法及代碼示例
- JQuery jQuery.type()用法及代碼示例
- JQuery jQuery.cssHooks用法及代碼示例
注:本文由純淨天空篩選整理自jquery.com大神的英文原創作品 jQuery.post()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。