浅析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 相关文章推荐
使用户点击后退按钮使效三行代码
Jul 07 Javascript
为jquery.ui.dialog 增加“在当前鼠标位置打开”的功能
Nov 24 Javascript
jquery 表格分页等操作实现代码(pagedown,pageup)
Apr 11 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
Apr 12 Javascript
js实现遮罩层划出效果是生成div而不是显示
Jul 29 Javascript
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
Aug 18 Javascript
js单独获取一个checkbox看其是否被选中
Sep 22 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
Aug 24 Javascript
JS文件上传神器bootstrap fileinput详解
Jan 28 Javascript
JavaScrpt的面向对象全面解析
May 09 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
Feb 24 Javascript
在vue中利用全局路由钩子给url统一添加公共参数的例子
Nov 01 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数据库类
2009/05/27 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
2016/01/11 PHP
js的写法基础分析
2011/01/17 Javascript
表单元素的submit()方法和onsubmit事件应用概述
2013/02/01 Javascript
js window.print实现打印特定控件或内容
2013/09/16 Javascript
jquery购物车实时结算特效实现思路
2013/09/23 Javascript
JavaScript?Apple设备检测示例代码
2013/11/15 Javascript
php中给js数组赋值方法
2014/03/10 Javascript
js实现select组件的选择输入过滤代码
2014/10/14 Javascript
Javascript模仿淘宝信用评价实例(附源码)
2015/11/26 Javascript
AngularJS控制器详解及示例代码
2016/08/16 Javascript
关于Function中的bind()示例详解
2016/12/02 Javascript
Bootstrap的基本应用要点浅析
2016/12/19 Javascript
bootstrap组件之导航组件使用方法
2017/01/19 Javascript
JS严格模式知识点总结
2018/02/27 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
d3.js实现图形缩放平移
2019/12/19 Javascript
Element图表初始大小及窗口自适应实现
2020/07/10 Javascript
vue-cli3配置favicon.ico和title的流程
2020/10/27 Javascript
python映射列表实例分析
2015/01/26 Python
python通过post提交数据的方法
2015/05/06 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
Python爬虫抓取代理IP并检验可用性的实例
2018/05/07 Python
利用python和百度地图API实现数据地图标注的方法
2019/05/13 Python
python二维键值数组生成转json的例子
2019/12/06 Python
python 递归相关知识总结
2021/03/03 Python
New Balance加拿大官方网站:运动鞋和健身服装
2018/11/19 全球购物
酒店人事专员岗位职责
2013/12/19 职场文书
物理教师自荐信范文
2013/12/28 职场文书
我爱我家教学反思
2014/05/01 职场文书
我爱我的祖国演讲稿
2014/05/04 职场文书
销售活动策划方案
2014/08/26 职场文书
教师党员个人整改措施
2014/10/27 职场文书
浅谈pytorch中stack和cat的及to_tensor的坑
2021/05/20 Python
MySQL 用 limit 为什么会影响性能
2021/09/15 MySQL
游戏《铁拳》动画化!2022年年内播出
2022/03/21 日漫