浅析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 相关文章推荐
js GridView 实现自动计算操作代码
Mar 25 Javascript
基于jquery实现在线选座订座之影院篇
Aug 24 Javascript
JS实现图片高亮展示效果实例
Nov 24 Javascript
js实现商品抛物线加入购物车特效
Nov 18 Javascript
微信小程序 wx.request(OBJECT)发起请求详解
Oct 13 Javascript
给easyui的datebox控件添加清空按钮的实现方法
Nov 09 Javascript
[原创]SyntaxHighlighter自动识别并加载脚本语言
Feb 07 Javascript
Vue2.0 多 Tab切换组件的封装实例
Jul 28 Javascript
p5.js入门教程之键盘交互
Mar 19 Javascript
d3绘制基本的柱形图的实现代码
Dec 12 Javascript
2019最新21个MySQL高频面试题介绍
Feb 06 Javascript
javascript History对象原理解析
Feb 17 Javascript
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 array_filter除去数组中的空字符元素
2020/06/21 PHP
PHP的可变变量名的使用方法分享
2012/02/05 PHP
深入PHP与浏览器缓存的分析
2013/06/03 PHP
简单谈谈php中的unicode和utf8编码
2015/06/10 PHP
php时间戳转换代码详解
2019/08/04 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
禁止你的左键复制实用技巧
2013/01/04 Javascript
hover的用法及live的用法介绍(鼠标悬停效果)
2013/03/29 Javascript
NodeJs中的VM模块详解
2015/05/06 NodeJs
javascript中的五种基本数据类型
2015/08/26 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
2016/11/09 Javascript
react native 获取地理位置的方法示例
2018/08/28 Javascript
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
基于VUE实现判断设备是PC还是移动端
2020/07/03 Javascript
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
Python下的Mysql模块MySQLdb安装详解
2014/04/09 Python
Windows系统下安装Python的SSH模块教程
2015/02/05 Python
详解Django中的过滤器
2015/07/16 Python
python中hashlib模块用法示例
2017/10/30 Python
Django项目实战之用户头像上传与访问的示例
2018/04/21 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
2019/08/05 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
Python爬虫入门有哪些基础知识点
2020/06/02 Python
Python tkinter制作单机五子棋游戏
2020/09/14 Python
Python如何telnet到网络设备
2021/02/18 Python
物业管理专业个人的自我评价
2013/11/19 职场文书
大学活动邀请函
2014/01/28 职场文书
小学生成长感言
2014/01/30 职场文书
招标承诺书
2014/08/30 职场文书
代领报检证委托书范本
2014/10/11 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书
网聊搭讪开场白
2015/05/28 职场文书
致运动员的广播稿
2015/08/19 职场文书
反邪教教育心得体会
2016/01/15 职场文书
如何写好活动总结
2019/06/21 职场文书
Redis特殊数据类型bitmap位图
2022/06/01 Redis