浅析jQuery Ajax通用js封装


Posted in Javascript onJune 22, 2016

本文大概分为三步实现jquery ajax通过js封装,通过代码实例讲解,代码附有注释,比较容易理解,具体详情如下所示:

第一步:引入jQuery库

<script type="text/javascript" src="<%=path%>/resources/js/jquery.min.js"></script>

第二步:开发Ajax封装类,已测试通过,可以直接调用,直接贴代码,讲解就省了

/*****************************************************************
jQuery Ajax封装通用类 (linjq) 
*****************************************************************/
$(function(){
/**
* ajax封装
* url 发送请求的地址
* data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(), "state": 1}
* async 默认值: true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。
* 注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
* type 请求方式("POST" 或 "GET"), 默认为 "GET"
* dataType 预期服务器返回的数据类型,常用的如:xml、html、json、text
* successfn 成功回调函数
* errorfn 失败回调函数
*/
jQuery.ax=function(url, data, async, type, dataType, successfn, errorfn) {
async = (async==null || async=="" || typeof(async)=="undefined")? "true" : async;
type = (type==null || type=="" || typeof(type)=="undefined")? "post" : type;
dataType = (dataType==null || dataType=="" || typeof(dataType)=="undefined")? "json" : dataType;
data = (data==null || data=="" || typeof(data)=="undefined")? {"date": new Date().getTime()} : data;
$.ajax({
type: type,
async: async,
data: data,
url: url,
dataType: dataType,
success: function(d){
successfn(d);
},
error: function(e){
errorfn(e);
}
});
};
/**
* ajax封装
* url 发送请求的地址
* data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(), "state": 1}
* successfn 成功回调函数
*/
jQuery.axs=function(url, data, successfn) {
data = (data==null || data=="" || typeof(data)=="undefined")? {"date": new Date().getTime()} : data;
$.ajax({
type: "post",
data: data,
url: url,
dataType: "json",
success: function(d){
successfn(d);
}
});
};
/**
* ajax封装
* url 发送请求的地址
* data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(), "state": 1}
* dataType 预期服务器返回的数据类型,常用的如:xml、html、json、text
* successfn 成功回调函数
* errorfn 失败回调函数
*/
jQuery.axse=function(url, data, successfn, errorfn) {
data = (data==null || data=="" || typeof(data)=="undefined")? {"date": new Date().getTime()} : data;
$.ajax({
type: "post",
data: data,
url: url,
dataType: "json",
success: function(d){
successfn(d);
},
error: function(e){
errorfn(e);
}
});
};
});

第三步:调用模拟

<%@ page language="java" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base href="<%=basePath%>">
<title>jQuery Ajax封装通用类测试</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<jsp:include page="/view/common/js_taglib.jsp"></jsp:include>
<script type="text/javascript">
$(function(){
$.ax(
getRootPath()+"/test/ajax.html",
null,
null,
null,
null, 
function(data){
alert(data.code);
}, 
function(){
alert("出错了");
}
);
$.axs(getRootPath()+"/test/ajax.html", null, function(data){
alert(data.data);
});
$.axse(getRootPath()+"/test/ajax.html",
null, 
function(){
alert("成功了");
},
function(){
alert("出错了");
});
});
</script>
</head>
<body>
</body>
</html>

以上所述是小编给大家介绍的jQuery Ajax通用js封装的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javaScript NameSpace 简单说明介绍
Jul 18 Javascript
Jquery中CSS选择器用法分析
Feb 10 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
Sep 02 Javascript
JavaScript实现复制文章自动添加版权
Aug 02 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
Dec 21 Javascript
巧用weui.topTips验证数据的实例
Apr 17 Javascript
ReactNative页面跳转Navigator实现的示例代码
Aug 02 Javascript
Koa 使用小技巧(小结)
Oct 22 Javascript
Vue组件之单向数据流的解决方法
Nov 10 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
May 12 Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
Sep 01 Javascript
解决vue项目本地启动时无法携带cookie的问题
Feb 06 Vue.js
Javascript如何判断数据类型和数组类型
Jun 22 #Javascript
最全的Javascript编码规范(推荐)
Jun 22 #Javascript
Javascript将数值转换为金额格式(分隔千分位和自动增加小数点)
Jun 22 #Javascript
Javascript将数字转化成为货币格式字符串
Jun 22 #Javascript
jQuery soColorPacker 网页拾色器
Jun 22 #Javascript
DIV+CSS+jQ实现省市联动可扩展
Jun 22 #Javascript
Javascript对象字面量的理解
Jun 22 #Javascript
You might like
分享一个php 的异常处理程序
2014/06/22 PHP
php制作动态随机验证码
2015/02/12 PHP
PHP内存使用情况如何获取
2015/10/10 PHP
解读IE和firefox下JScript和HREF的执行顺序
2008/01/12 Javascript
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
Java/JS获取flash高宽的具体方法
2013/12/27 Javascript
JS判断、校验MAC地址的2个实例
2014/05/05 Javascript
js中匿名函数的创建与调用方法分析
2014/12/19 Javascript
高性能JavaScript DOM编程(1)
2015/08/11 Javascript
jquery如何获取元素的滚动条高度等实现代码
2015/10/19 Javascript
jQuery toggle 代替方法
2016/03/22 Javascript
AngularJS实现动态编译添加到dom中的方法
2016/11/04 Javascript
javascript另类方法实现htmlencode()与htmldecode()函数实例分析
2016/11/17 Javascript
微信小程序 自己制作小组件实例详解
2016/12/22 Javascript
js实现图片切换(动画版)
2016/12/25 Javascript
js实现弹窗暗层效果
2017/01/16 Javascript
令按钮悬浮在(手机)页面底部的实现方法
2017/05/02 Javascript
ReactNative之键盘Keyboard的弹出与消失示例
2017/07/11 Javascript
SVG动画vivus.js库使用小结(实例代码)
2017/09/14 Javascript
AngualrJs清除定时器遇到的坑
2017/10/13 Javascript
vue微信分享 vue实现当前页面分享其他页面
2017/12/02 Javascript
深入浅析javascript函数中with
2018/10/28 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
Vue与React的区别和优势对比
2020/12/18 Vue.js
用Python写冒泡排序代码
2016/04/12 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
python批量读取文件名并写入txt文件中
2020/09/05 Python
利用Python实现Excel的文件间的数据匹配功能
2020/06/16 Python
IE下实现类似CSS3 text-shadow文字阴影的几种方法
2011/05/11 HTML / CSS
ECCO爱步美国官网:来自丹麦的鞋履品牌
2016/11/23 全球购物
威盛公司软件C++工程师笔试题面试题
2012/07/16 面试题
个人自荐书
2013/12/20 职场文书
反四风对照检查材料思想汇报
2014/09/16 职场文书
2015大学迎新晚会主持词
2015/07/16 职场文书
远程教育集中轮训基层干部培训班学习心得体会
2016/01/09 职场文书
MySQL学习之基础操作总结
2022/03/19 MySQL