当前位置: 首页 > 编程日记 > 正文

ajax post的回调函数另一个方法,jQueryajax–post()方法 - 米扑博客

jQuery ajax - post() 实例

请求 test.php 网页,忽略返回值:

$.post("test.php");

通过 AJAX POST 请求改变 div 元素的文本:

$("input").keyup(function(){

txt=$("input").val();

$.post("demo_ajax.asp",{suggest:txt},function(result){

$("span").html(result);

});

});

定义和用法

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

语法样式:

jQuery.post(url, [data], [callback], [type])

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

参数说明:

url: 发送请求地址。

data: 待发送 Key/value 参数。

callback: 发送成功时回调函数。

type: 返回内容格式 xml, html, script, json, text, _default

参数

描述

url

必需。规定把请求发送到哪个 URL。

data

可选。映射或字符串值。规定连同请求发送到服务器的数据。

success(data, textStatus, jqXHR)

可选。请求成功时执行的回调函数。

dataType

可选。规定预期的服务器响应的数据类型。

默认执行智能判断(xml、json、script、html)

详细说明

该函数是简写的 Ajax 函数,等价于:

$.ajax({

type: 'POST',

url: url,

data: data,

success: success,

dataType: dataType

});

完整示例:

$.ajax({

url : 'lib/order.php',

type : "post",

dataType: "json",

data : {

"user_email": user_email,

"pay_type":buy_paytype,

"orderid":orderid,

"unit_name_en":unit_name_en,

"unit_name_ch":unit_name_ch,

"unit_quantity": unit_quantity,

"unit_price":unit_price,

"is_express":is_express,

"total_price":total_price

},

async: false,

cache: false,

success: function(data){

if(data && data.code == 0){

$('#postcontent').text("下单成功");

window.location.href = data.go_url;

}

else if(data && data.code == 1){

$('#postcontent').text("请先登录");

window.location.href = 'usercenter/login.php';

}

else if(data && data.code == 8){

$('#postcontent').text("续单成功");

var jump_url = 'usercenter/orderdetail.php?orderid='+orderid;

jump(3, jump_url);

$('#postcontent_err').text(data.code_msg).show();

}

else {

$('#postcontent_err').text(data.code_msg).show();

}

},

error: function(){

$("#postcontent_err").text("系统错误,请稍后再试,或联系管理员").show();

}

});

function jump(count, forurl) {

window.setTimeout(function(){

count--;

if(count > 0) {

$('#postcontent').text(count + "秒后跳转");

jump(count, forurl);

} else {

window.location.href = forurl;

}

}, 1000);

}

根据响应的不同的 MIME 类型,传递给 success 回调函数的返回数据也有所不同,

这些数据可以是 XML 根元素、文本字符串、JavaScript 文件或者 JSON 对象。

也可向 success 回调函数传递响应的文本状态。

对于 jQuery 1.5,也可以向 success 回调函数传递 jqXHR 对象(jQuery 1.4 中传递的是 XMLHttpRequest 对象)。

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

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

$(".result").html(data);

});

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

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

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

注释:如果由 jQuery.post() 发起的请求返回错误代码,那么不会有任何提示,除非脚本已调用了全局的 .ajaxError() 方法。

或者对于 jQuery 1.5,jQuery.post() 返回的 jqXHR 对象的 .error() 方法也可以用于错误处理。

jqXHR 对象

对于 jQuery 1.5,所有 jQuery 的 AJAX 方法返回的是 XMLHTTPRequest 对象的超集。由 $.post() 返回的 jQuery XHR 对象或 "jqXHR,"实现了约定的接口,赋予其所有的属性、方法,以及约定的行为。出于对由 $.ajax() 使用的回调函数名称便利性和一致性的考虑,它提供了 .error(), .success() 以及 .complete() 方法。这些方法使用请求终止时调用的函数参数,该函数接受与对应命名的 $.ajax() 回调函数相同的参数。

jQuery 1.5 中的约定接口同样允许 jQuery 的 Ajax 方法,包括 $.post(),来链接同一请求的多个 .success()、.complete() 以及 .error() 回调函数,甚至会在请求也许已经完成后分配这些回调函数。

// 请求生成后立即分配处理程序,请记住该请求针对 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");

});

更多实例

例子 1

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

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

例子 2

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

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

例子 3

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

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

例子 4

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

$.post("test.php", function(data){

alert("Data Loaded: " + data);

});

例子 5

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

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

function(data){

alert("Data Loaded: " + data);

});

例子 6(返回 xml)

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

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

function(data){

process(data);

}, "xml");

例子 7(返回 json)

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

$.post("test.php", { "func": "getNameAndTime" },

function(data){

alert(data.name); // John

console.log(data.time); // 2pm

}, "json");

jQuery Ajax 操作函数

jQuery 库拥有完整的 Ajax 兼容套件。其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据。

函数

描述

执行异步 HTTP (Ajax) 请求。

当 Ajax 请求完成时注册要调用的处理程序。这是一个 Ajax 事件。

当 Ajax 请求完成且出现错误时注册要调用的处理程序。这是一个 Ajax 事件。

在 Ajax 请求发送之前显示一条消息。

设置将来的 Ajax 请求的默认值。

当首个 Ajax 请求完成开始时注册要调用的处理程序。这是一个 Ajax 事件。

当所有 Ajax 请求完成时注册要调用的处理程序。这是一个 Ajax 事件。

当 Ajax 请求成功完成时显示一条消息。

使用 HTTP GET 请求从服务器加载数据。

使用 HTTP GET 请求从服务器加载 JSON 编码数据。

使用 HTTP GET 请求从服务器加载 JavaScript 文件,然后执行该文件。

从服务器加载数据,然后把返回到 HTML 放入匹配元素。

创建数组或对象的序列化表示,适合在 URL 查询字符串或 Ajax 请求中使用。

使用 HTTP POST 请求从服务器加载数据。

将表单内容序列化为字符串。

序列化表单元素,返回 JSON 数据结构数据。

JS打开新窗口的2种方式

window.location.href="https://mimvp.com";    // 在同当前窗口中打开窗口

window.open("https://mimvp.com");            // 在另外新建窗口中打开窗口

相关文章:

将excel中是数据导入数据库

2019独角兽企业重金招聘Python工程师标准>>> 将excel中是数据导入数据库 1.利用excel生成sql语句: 列如: 1).insert: CONCATENATE("insert into Company (ID,Name,Address,Tell,Brief,URL,Fax,Contact,TradeI…

Java工具类-转换字符编码

package common; /***字符串处理公用类 */ public class DealString {/*** 转换字符编码 由“iso-8859-1”西文转换为简体中文*/public static String toGb(String uniStr){String gbStr"";if(uniStrnull){uniStr"";}try{byte[] tempByteuniStr.getBytes(&…

partprobe源码分析

partprobe工具 操作系统目录/usr/sbin/partprobe 程序安装包parted-3.1-17.el7.x86_64.rpm 命令用法: partprobe是用来告知操作系统内核 分区表发生变化的工具,告知方式是请求内核重读分区表 选项如下: -d 不会让内核重读分区表&#xff0c…

数据库和服务器什么协议,数据库服务器协议

数据库服务器协议 内容精选换一换本章节适用于MRS 3.x之前版本。Loader支持以下多种连接,每种连接的配置介绍可根据本章节内容了解。obs-connectorgeneric-jdbc-connectorftp-connector或sftp-connectorhbase-connector、hdfs-connector或hive-connectorOBS连接是Lo…

VC实用小知识总结 (一),转http://blog.csdn.net/myiszjf/article/details/10007431

在上一篇中,我们以经介绍了程序的流程和框架,在本篇将详细讨论各个功能的实现主要包括1.获取磁盘信息2.获取目录信息3.获取文件信息4.运行指定文件5.删除指定文件6.删除指定目录7.创建指定目录8.上传下载文件9.获取远程文件图标获取磁盘信息磁盘信息可以用API GetDriveType来实…

Linux下快速分区格式化大于2T大容量存储

在生产环境中,我们会遇到分区大于2T的磁盘(比如:添加一个10TB的存储),由于MBR分区表只支持2T磁盘,所以大于2T的磁盘必须使用GPT分区表,而我们在做raid时会划分多个VD来进行装系统,但…

ubuntu18.04 Desktop版本部署13.2.6版本ceph

文章目录选择系统安装系统网络配置CEPH部署想要查看版本较高的ceph在进行录像业务存储且在磁盘占用率在70%左右时且ceph底层出现slow_request是否会对上层录像业务造成显性影响 所以需要在ubuntu 18.04版本部署mimic版本ceph,先将部署步骤描述如下: 选…

java获取ajax上传的文件,Java使用Ajax异步上传文件

相关代码示例:html代码片段:名称class"layui-input">描述文件请选择配置文件立即提交重置js代码片段://上传配置文件$("#save_config_file").click(function () {var name $("#config_name").val();var desc $("#config_desc").v…

hdu 1423

最长公共上升子序列&#xff1a;O(n*m)的算法&#xff1b; 1 #include<cstdio>2 #include<cstring>3 #define maxn 10004 using namespace std;5 int a[maxn],b[maxn],f[maxn];6 int main()7 {8 int t,n,m;9 scanf("%d",&t); 10 while(t…

从HP发布BSM新版套件看网管与安管的融合

2012年11月底&#xff0c;HP发布了新版的BSM套件。在这个新的套件有一个BSM与ArcSight Logger整合的方案。我之前在RSA2012大会观后感系列文章中也提及过HP的这个动向&#xff0c;就是将网管与安管整合的动向。他们正在按部就班地进行中。不过&#xff0c;由于他们的身躯过于庞…

PHP学习课程和培训方向学习路线分享

PHP学习课程和培训方向学习路线分享 php语言的优越性&#xff0c;集结了很多的开发爱好者&#xff0c;无论行业前景和个人发展来说&#xff0c;php正飞速的发展&#xff0c;php在不断兼容着类似closures和命名空间 等技术&#xff0c;同时兼顾性能和当下流行的框架。版本是7之后…

编译ceph源码:cython module not found问题的解决

环境&#xff1a;centos7.5 ceph版本:12.2.1 在当前环境对ceph源码rpm包进行重新编译 执行命令rpmbuild --rebuild ceph-12.2.1-0.el7.src.rpm 最后出现错误如下&#xff1a; Could not find cython3. Please install Cython. 查看此时对Cython3模块的编译规则 vim /BUILD/ce…

把mysql 中的字符gb2312 改为gbk的方法

第一步&#xff1a;查找mysql的字符: mysql> show variables like %char%;------------------------------------------------------------| Variable_name | Value |------------------------------------------------------------|…

1h2g云服务器做网站,云服务器1h2g

云服务器1h2g 内容精选换一换IP地址组是多个IP地址的集合&#xff0c;可被安全组规则引用&#xff0c;可统一管理具有相同安全要求或需要频繁修改的IP地址。通过使用IP地址组&#xff0c;可有效应对需要重复多次编辑安全组规则的场景&#xff0c;方便管理。您需要先创建一个IP地…

×××S:Reporting Services 技巧

S&#xff1a;Reporting Services 技巧 表达式 1、序号&#xff1a;RunningValue(1, sum, nothing) 2、总记录数&#xff1a; CountRows() 3、今天日期&#xff1a;Today 4、本月初&#xff1a;CDate(Now().ToString("yyyy-MM-01")) 5、换行效果&#xff08;<br/&…

vim 常用指令

1 移动光标 光标动作 hjkl&#xff0c;方向键 移动一位&#xff0c;hjkl代表左、下、上、右 数字0 移至本行开头 ^ 移至本行第一个非空字符&#xff0c;匹配开头 $ 移至本行结尾&#xff0c;可以包含空格 w 移至下一单词或标点的开头…

ceph osd 由于“No space left on device” 异常down,通过扩容文件系统或者显式运行osd进程解决

文章目录ceph版本:环境配置&#xff1a;异常问题&#xff1a;问题解决&#xff1a;总结ceph版本: ceph 12.2.1 环境配置&#xff1a; tier_pool 16个分区大小800G 的osd容量 3副本 data_pool 32个4T盘 3副本 异常问题&#xff1a; ps:在分布式存储中遇到任何问题都不要先…

java云服务器系统选择,java云服务器系统选择

java云服务器系统选择 内容精选换一换登录Windows操作系统弹性云服务器时&#xff0c;无法正常进入系统。自启动系统修复模式&#xff0c;但选择修复选项后报错&#xff0c;无法继续进行系统恢复。Windows文件已损坏。登录管理控制台&#xff0c;选择“计算 > 弹性云服务器”…

WordPress数据库优化技巧

各位站长都知道wordpress用久了就会越来越慢。今天就给大家介绍如何给自己的wordpress提速&#xff0c;分两种方法&#xff1a;1.插件属性wordpress的都知道其插件是相当的多&#xff0c;只要你能想得到的基本都有&#xff0c;在这给大家介绍几个小编知道的插件&#xff1a;WP-…

【JDK7】新特性(2) 语法

2019独角兽企业重金招聘Python工程师标准>>> JDK7对Java语法有少量更新&#xff0c;重点是在易用性和便捷性的改进。 1.二进制字面量 JDK7开始&#xff0c;终于可以用二进制来表示整数&#xff08;byte,short,int和long&#xff09;。使用二进制字面量的好处是&am…

AtcoderCodeForces杂题11.6

Preface NOIP前突然不知道做什么,感觉思维有点江僵化,就在vjudge上随便组了6道ABC DCF Div2 C/D做,发现比赛质量还不错,知识点涉及广,难度有梯度,码量稍小,思维较多. 同时发现vjudge的比赛功能很不错 A. ABC112-D-Partition 难度感觉比NOIP T1简单了些了 首先naiive的想法是枚举…

centos下将vim配置为强大的源码阅读器

每日杂事缠身&#xff0c;让自己在不断得烦扰之后终于有了自己的清静时光来熟悉一下我的工具&#xff0c;每次熟悉源码都需要先在windows端改好&#xff0c;拖到linux端&#xff0c;再编译。出现问题&#xff0c;还得重新回到windows端&#xff0c;这个过程太耗费时间。 vim作为…

虚拟机看服务器mac地址,虚拟机修改服务器mac地址吗

虚拟机修改服务器mac地址吗 内容精选换一换本章节指导用户为Windows系统的ECS主机添加域名解析并添加安全组&#xff0c;防止下载Agent安装包与采集监控数据时出现异常。修改ECS的DNS配置有两种方式&#xff1a;Windows图形化界面和管理控制台。您可以根据自己的使用习惯选择其…

条件注释判断浏览器!--[if !IE]!--[if IE]!--[if lt IE 6]!--[if gte IE 6]

条件注释判断浏览器<!--[if !IE]><!--[if IE]><!--[if lt IE 6]><!--[if gte IE 6]> <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--><!--[if IE]> 所有的IE可识别 <![endif]--><!--[if IE 6]> 仅IE6可识…

USACO09FEB Fair Shuttle

题目传送门 据说\(NOIp\)前发题解可以\(\mathfrak{RP}\) 因为要尽可能满足更多奶牛&#xff0c;所以按照这种区间贪心题的套路&#xff0c;先按右端点排序&#xff0c;然后依次遍历&#xff0c;能坐车的就让它们坐车&#xff0c;这样一定是最优的。 在贪心的时候&#xff0c;我…

diy高性能存储服务器,diy存储服务器

diy存储服务器 内容精选换一换帮助用户完成专属云服务器备份任务的创建&#xff0c;快速完成服务器数据保护。专属云服务器不支持应用一致性备份。当专属对象存储的容量不足时&#xff0c;会导致专属云服务器备份创建失败。已开通专属对象存储。登录管理控制台。单击&#xff0…

使用内存盘 格式化文件系统以及部署ceph-osd

文章目录创建RAMDISK使用内存盘使用内存盘格式化文件系统使用内存盘部署ceph-osd删除内存盘为了测试内存盘类型的磁盘做ceph osd的io性能&#xff0c;将内存部分空间取出来用作普通物理磁盘(RAMDISK)&#xff0c;并在该磁盘上部署ceph osd支持该操作的系统驱动为brd.koPS &…

iBatis的CRUD操作详细总结

昨天晚上看了一下关于iBatis的一个讲解的视频&#xff0c;讲的和我的这个简单的总结差不多.... 思考了一下还是把主要操作都总结一下吧&#xff0c;当然这里也不是全的&#xff0c;知识简单的CRUD。。。 首先我觉得持久层的操作主要就是这几个&#xff1a; public interface IP…

min聚合函数查询带有额外字段sql|dense_rank()over(partition)|+班级学生成绩最高

oracle爱好者和群snowg的问题 上面的这个&#xff0c;有站点stationid&#xff0c;year&#xff0c;month&#xff0c;day和每天记录的day_tmin字段。现在要求统计处每个stationid下面每月每日的最小day_tmin字段&#xff0c;因为不关注year&#xff0c;所以sql这样写 select …

提升jmeter自身性能

JMeter负载测试时使用GUI界面和较多的收集测试结果的监听器容易造成jmeter的性能瓶颈&#xff0c;远程测试时的控制台尤为明显。提升JMeter负载测试时性能的方法如下&#xff1a; 官方的解决办法&#xff1a;http://jakarta.apache.org/jmeter/usermanual/best-practices.html#…