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
|
|