浅析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 document.createDocumentFragment()
Apr 04 Javascript
自己封装的javascript事件队列函数版
Jun 12 Javascript
js实现下拉框选择要显示图片的方法
Feb 16 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
Oct 25 Javascript
DOM 事件的深入浅出(二)
Dec 05 Javascript
JavaScript你不知道的一些数组方法
Aug 18 Javascript
Vue 中使用vue2-highcharts实现top功能的示例
Mar 05 Javascript
vue非父子组件通信问题及解决方法
Jun 11 Javascript
深入理解react-router 路由的实现原理
Sep 26 Javascript
vue 配置多页面应用的示例代码
Oct 22 Javascript
jquery树形插件zTree高级使用详解
Aug 16 jQuery
js作用域及作用域链工作引擎
Jul 07 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
我的论坛源代码(二)
2006/10/09 PHP
php auth_http类库进行身份效验
2009/03/19 PHP
php 操作数组(合并,拆分,追加,查找,删除等)
2012/07/20 PHP
php使用APC实现实时上传进度条功能
2015/10/26 PHP
微信支付PHP SDK之微信公众号支付代码详解
2015/12/09 PHP
ThinkPHP实现的rsa非对称加密类示例
2018/05/29 PHP
JavaScipt基本教程之JavaScript语言的基础
2008/01/16 Javascript
js随机生成26个大小写字母
2016/02/12 Javascript
Jq通过td获取同行其它列td的方法
2016/10/05 Javascript
浅析JavaScript动画模拟拖拽原理
2016/12/09 Javascript
微信小程序 本地数据存储实例详解
2017/04/13 Javascript
Thinkphp5微信小程序获取用户信息接口的实例详解
2017/09/26 Javascript
vue登录路由验证的实现
2017/12/13 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
2019/02/13 Javascript
如何在Angular应用中创建包含组件方法示例
2019/03/23 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
JavaScript代码简化技巧实例解析
2020/09/09 Javascript
[01:03:00]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第一局
2016/02/25 DOTA
Python的lambda匿名函数的简单介绍
2013/04/25 Python
基于Python的身份证号码自动生成程序
2014/08/15 Python
Python正则抓取新闻标题和链接的方法示例
2017/04/24 Python
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
python中使用 xlwt 操作excel的常见方法与问题
2019/01/13 Python
python网络爬虫 CrawlSpider使用详解
2019/09/27 Python
使用Python实现画一个中国地图
2019/11/23 Python
python实现扑克牌交互式界面发牌程序
2020/04/22 Python
浅谈pycharm导入pandas包遇到的问题及解决
2020/06/01 Python
Python Flask框架实现简单加法工具过程解析
2020/06/03 Python
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
HTML table 表格边框的实现思路
2019/10/12 HTML / CSS
初中考试作弊检讨书
2014/02/01 职场文书
幼儿教师国培感言
2014/02/19 职场文书
2014年9.18纪念日演讲稿
2014/09/14 职场文书
单独二胎证明
2015/06/24 职场文书
新闻简讯格式及范文
2015/07/22 职场文书
Python办公自动化之Excel(中)
2021/05/24 Python