jQuery.post()

发布时间:2020-06-25 02:25:08发布者:admin浏览数:

此方法通过HTTP POST请求从服务器载入数据。

语法结构:

[JavaScript] 纯文本查看 复制代码

jQuery.post(url [, data ] [, success(data,textStatus,jqXHR)] [, dataType ])

参数解析:

(1).url:规定把请求发送到哪个URL。

(2).data:可选,映射或字符串值。规定连同请求发送到服务器的数据。

(3).success:可选,请求成功时执行的回调函数。具有三个参数,data是请求返回的数据,textStatus是请求状态文本(例如"success"、 "notmodified"),jqXHR是当前jqXHR对象(jQuery 1.4及之前版本,该参数为原生的XMLHttpRequest对象)。

(4).dataType:可选,规定预期的服务器响应数据类型。默认执行智能判断(xml、json、script或html)。

jQuery1.0版本添加。

此方法相当于$.ajax()方法:

[JavaScript] 纯文本查看 复制代码

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

根据响应的不同的MIME类型,传递给success回调函数的返回数据也有所不同,这些数据可以是XML根元素、文本字符串、JavaScript文件或者JSON对象。也可向 success回调函数传递响应的文本状态。

也可以向success回调函数传递jqXHR对象(jQuery1.4中传递的是XMLHttpRequest 对象)。

大部分实现会规定一个success 函数:

[JavaScript] 纯文本查看 复制代码

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

本例读取被请求的HTML片段,并插入页面中。

通过POST读取的页面不被缓存,因此jQuery.ajaxSetup()中的 cache 和 ifModified 选项不会影响这些请求。

注释:由于浏览器安全方面的限制,大多数 "Ajax" 请求遵守同源策略;请求无法从不同的域、子域或协议成功地取回数据。

注释:如果由 jQuery.post() 发起的请求返回错误代码,那么不会有任何提示,除非脚本已调用了全局的 .ajaxError() 方法。或者jQuery.post() 返回的 jqXHR 对象的 .error() 方法也可以用于错误处理。

jqXHR 对象:

从jQuery 1.5开始,所有jQuery的Ajax方法都返回一个XMLHTTPRequest对象的超集。这个通过$.post()方法返回的jQuery XHR对象,或“jqXHR”,实现了 Promise 接口,使它拥有 Promise 的所有属性,方法和行为。jqXHR.done() (表示成功), jqXHR.fail() (表示错误), 和 jqXHR.always() (表示完成, 无论是成功或错误;在jQuery 1.6 中添加) 方法接受一个函数参数,用来请求终止时被调用。

Promise 接口也允许jQuery的Ajax方法, 包括 $.post(), 在一个单独的请求中关联到 .done(), .fail(), 和 .always() 回调函数, 甚至允许你在请求已经结束后,指派回调函数。如果该请求已经完成,则回调函数会被立刻调用。

[JavaScript] 纯文本查看 复制代码

// 请求生成后立即分配处理程序,请记住该请求针对 jqxhr 对象var jqxhr = $.post("example.php", function() { alert("success");}).success(function() { alert("second success"); }) .error(function() { alert("error"); }) .complete(function() { alert("complete"); }); // 在这里执行其他任务// 为上面的请求设置另一个完成函数jqxhr.complete(function(){ alert("second complete"); });

实例代码:

[JavaScript] 纯文本查看 复制代码

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

请求test.php页面,并一起发送一些额外的数据(同时仍然忽略返回值)。

[JavaScript] 纯文本查看 复制代码

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

向服务器传递数据数组(同时仍然忽略返回值).

[JavaScript] 纯文本查看 复制代码

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

使用 ajax 请求发送表单数据。

[JavaScript] 纯文本查看 复制代码

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

输出来自请求页面 test.php 的结果(HTML 或 XML,取决于所返回的内容)。

[JavaScript] 纯文本查看 复制代码

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

向页面test.php发送数据,并输出结果(HTML 或 XML,取决于所返回的内容)。

[JavaScript] 纯文本查看 复制代码

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

获得test.php页面的内容,并存储为XMLHttpResponse对象,并通过process()函数进行处理。

[JavaScript] 纯文本查看 复制代码

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

获得test.php页面返回的json格式的内容。

  网站建设分类
程序开发 |  系统教程 |  软件应用 |  图形图像 |  网络应用 |  站长教程 |  网站建设 |  视频教程 |  硬件维护 |  IT资讯 |  中国it动力网
本站发布的系统与软件仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件!
如侵犯到您的权益,请及时通知我们,我们会及时处理。
Copyright @ 2019 中国it动力网 网站导航