浅析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代码
Dec 09 Javascript
JavaScript中出现乱码的处理心得
Dec 24 Javascript
jQuery 1.5最新版本的改进细节分析
Jan 19 Javascript
JS、CSS以及img对DOMContentLoaded事件的影响
Aug 12 Javascript
javascript自定义滚动条实现代码
Apr 20 Javascript
教你用javascript实现随机标签云效果_附代码
Mar 16 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
Oct 28 Javascript
bootstrap输入框组使用方法
Feb 07 Javascript
详解用Node.js实现Restful风格webservice
Sep 29 Javascript
Angular异步变同步处理方法
Aug 13 Javascript
js实现微信聊天效果
Aug 09 Javascript
JS轻量级函数式编程实现XDM二
Jun 16 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&amp;java(一)
2006/10/09 PHP
php jquery 实现新闻标签分类与无刷新分页
2009/12/18 PHP
php更新修改excel中的内容实例代码
2014/02/26 PHP
Yii2.0高级框架数据库增删改查的一些操作
2015/11/16 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
2016/03/05 PHP
PHP获取真实客户端的真实IP
2017/03/07 PHP
JavaScript 学习笔记(十二) dom
2010/01/21 Javascript
js 动态修改css文件的方法
2014/08/05 Javascript
Javascript的this用法
2017/01/16 Javascript
ES6入门教程之Class和Module详解
2017/05/17 Javascript
Vue中的作用域CSS和CSS模块的区别
2018/10/09 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
JS使用Prim算法和Kruskal算法实现最小生成树
2019/01/17 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
浅析VUE防抖与节流
2020/11/24 Vue.js
python多线程扫描端口示例
2014/01/16 Python
python实现bucket排序算法实例分析
2015/05/04 Python
Python和Perl绘制中国北京跑步地图的方法
2016/03/03 Python
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
Python实现的下载网页源码功能示例
2017/06/13 Python
解决Python3.5+OpenCV3.2读取图像的问题
2018/12/05 Python
用python脚本24小时刷浏览器的访问量方法
2018/12/07 Python
python 自动重连wifi windows的方法
2018/12/18 Python
pandas 选取行和列数据的方法详解
2019/08/08 Python
python实现翻译word表格小程序
2020/02/27 Python
python中xlrd模块的使用详解
2021/02/01 Python
Champion澳大利亚官网:美国冠军运动服装
2018/05/07 全球购物
冰淇淋开店创业计划书
2014/02/01 职场文书
汽车队司机先进事迹材料
2014/02/01 职场文书
社区食品安全实施方案
2014/03/28 职场文书
优秀学生评语大全
2014/04/25 职场文书
营销总监岗位职责
2014/09/16 职场文书
卢旺达饭店观后感
2015/06/05 职场文书
JavaScript 语句之常用 for 循环详解
2021/03/29 Javascript
PHP实现考试倒计时功能代码
2021/04/16 PHP
vue引入Excel表格插件的方法
2021/04/28 Vue.js