浅析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 相关文章推荐
Mozilla 表达式 __noSuchMethod__
Apr 05 Javascript
jQuery 表单验证扩展(四)
Oct 20 Javascript
屏蔽script注入小例子
Nov 12 Javascript
JavaScript中的值类型详细介绍
Dec 29 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
Mar 13 Javascript
jquery模拟进度条实现方法
Aug 03 Javascript
JavaScript使用原型和原型链实现对象继承的方法详解
Apr 05 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
Jan 03 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
Jan 30 Javascript
vue.js的computed,filter,get,set的用法及区别详解
Mar 08 Javascript
vue.js前后端数据交互之提交数据操作详解
Apr 24 Javascript
微信小程序实现卡片层叠滑动效果
Jun 21 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+Apache+Mysql环境搭建教程
2016/08/01 PHP
修复IE9&amp;safari 的sort方法
2011/10/21 Javascript
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
兼容所有浏览器的js复制插件Zero使用介绍
2014/03/19 Javascript
jquery实现的鼠标下拉滚动置顶效果
2014/07/24 Javascript
jQuery使用before()和after()在元素前后添加内容的方法
2015/03/26 Javascript
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
2015/08/21 Javascript
jQuery右侧选项卡焦点图片轮播特效代码分享
2015/09/05 Javascript
js中flexible.js实现淘宝弹性布局方案
2020/06/23 Javascript
基于node实现websocket协议
2016/04/25 Javascript
jQuery 中ajax异步调用的四种方式
2016/06/28 Javascript
jQuery.ajax向后台传递数组问题的解决方法
2017/05/12 jQuery
Vue.use源码学习小结
2018/06/20 Javascript
JS 数组随机洗牌的实例代码
2018/09/12 Javascript
vue里的data要用return返回的原因浅析
2019/05/28 Javascript
微信小程序 腾讯地图SDK 获取当前地址实现解析
2019/08/12 Javascript
解决layer弹出层自适应页面大小的问题
2019/09/16 Javascript
微信头像地址失效踩坑记附带解决方案
2019/09/23 Javascript
详解webpack-dev-middleware 源码解读
2020/03/23 Javascript
python改变日志(logging)存放位置的示例
2014/03/27 Python
Python实现遍历目录的方法【测试可用】
2017/03/22 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
2018/10/28 Python
python简单贪吃蛇开发
2019/01/28 Python
详解爬虫被封的问题
2019/04/23 Python
django项目简单调取百度翻译接口的方法
2019/08/06 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
MNIST数据集转化为二维图片的实现示例
2020/01/10 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
如果NULL和0作为空指针常数是等价的,那我到底该用哪一个
2014/09/16 面试题
幼师自荐信范文
2013/10/06 职场文书
简历上的自我评价怎么写
2014/01/28 职场文书
电子信息工程自荐信
2014/05/26 职场文书
关于运动会的广播稿50字
2014/10/17 职场文书
七一慰问简报
2015/07/20 职场文书
企业廉洁教育心得体会
2016/01/20 职场文书
vue代码分块和懒加载非必要资源文件
2022/04/11 Vue.js