jQuery.post( url [, data ] [, success ] [, dataType ] )返回类型:jqXHR
描述:利用HTTP POST请求从服务器载入数据。
-
增补版本:1.0jQuery.post( url [, data ] [, success ] [, dataType ] )
-
url类型:String一个字符串,包含了请求被发送到的URL。
-
data类型:PlainObject or String一个扁平对象或字符串,将与请求一起发送到服务器。
-
success一个回调函数,如果请求成功了就执行它。如果提供了
dataType
,它就是必不可少的,但是那种情况下可以是null
。 -
dataType类型:String期待从服务器返回的数据类型。默认值:智能猜测(xml、json、script、text、html)。
-
-
增补版本:1.12/2.2jQuery.post( [settings ] )
-
settings类型:PlainObject一个配置Ajax请求的键值对集合。除了
url
之外的所有属性都是可选的。可以利用$.ajaxSetup()
的任何选项来设置默认值。请参阅jQuery.ajax( settings )
以了解所有设置的完整列表。type
选项将自动被设置为POST
。
-
这是一个简写的Ajax函数,它等同于:
1
2
3
4
5
6
7
|
|
success
回调函数传入了返回的data
,它将是一个XML根元素或文本字符串,取决于响应的MIME。它也传入了响应的文本状态。
As of jQuery 1.5, the success
callback function is also passed a "jqXHR" object (in jQuery 1.4, it was passed the XMLHttpRequest
object).
更多的实现器将指定一个成功的处理函数:
1
2
3
|
|
此示例取回了请求的HTML片段,并把它插入到网页上。
用POST
取回的网页永远不会被缓存,所以jQuery.ajaxSetup()
中的cache
选项和ifModified
选项在这些请求上没有效果。
The jqXHR Object
自从jQuery1.5以来,所有的jQuery的Ajax方法都返回XMLHTTPRequest
对象的一个超级。$.get()
方法返回的此jQuery XHR对象,或“jqXHR”,实现了应答对象接口,给它所有应答对象的属性、方法和行为(请参阅Deferred object以进一步了解信息)。jqXHR.done()
方法(针对success
)、jqXHR.fail()
方法(针对error
)和jqXHR.always()
方法(针对completion
,无论是success
还是error
,在jQuery 1.6中添加)取用了一个函数参数,在请求终结时调用它们。欲进一步了解此函数接受的参数,请参阅$.ajax()
文档的jqXHR 对象部分。
应答对象接口也允许jQuery的Ajax方法,包括$.get()
,在一个请求上连缀多个.done()
、.fail()
和.always()
回调函数,甚至在请求可能已经结事后再设置这些回调函数。如果请求已经结束,会立即引发回调函数。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
|
淘汰通知
自从jQuery 3.0以来,已经删除了jqXHR.success()
、jqXHR.error()
和jqXHR.complete()
回调函数方法。你可以使用jqXHR.done()
、jqXHR.fail()
和jqXHR.always()
方法来代替。
补充说明:
- 由于浏览器安全性限制,大多数“Aajx”请求都服从同源策略;请求不能从不同的域名、不同的子域、端口或协议成功地检索到数据。
-
如果请求利用jQuery.post()方法返回一个错误代码,它将静默地失败,除非脚本还将调用全局.ajaxError()方法。作为替代,自从jQuery 1.5以来,由jQuery.post()方法返回的
jqXHR
对象的.error()
方法也可以用于错误处理。
示例:
请求test.php页面,但是忽略返回的结果。
1
|
|
请求test.php,把一些额外的数据随同发送(与此同时,依然忽略返回的结果)。
1
|
|
把数据的数组传递给服务器(与此同时依然忽略返回的结果)。
1
|
|
使用Ajax请求发送表单数据。
1
|
|
提醒来自请求的test.php的结果(HTML或XML,取决于它返回了什么)。
1
2
3
|
|
提醒来自请求的test.php的结果,带有一些额外的过载数据(HTML或XML,取决于它返回了什么)。
1
2
3
4
|
|
Post发送到test.php,并取得以json格式返回的内容(<?php echo json_encode(array("name"=>"John","time"=>"2pm")); ?>
)。
1
2
3
4
|
|
使用Ajax Post发送一个表单,把结果放到<div>中。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
|