用法
jQuery.post( url [, data ] [, success ] [, dataType ] ) => jqXHR
jQuery.post( url [, data ] [, success ] [, dataType ] ) => jqXHR说明:使用 HTTP POST 请求向服务器发送数据。
- 
添加的版本:1.0jQuery.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.2jQuery.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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
