jQuery Ajax 全局调用封装代码

  • 时间:
  • 6790人关注

这篇文章主要介绍了jQuery Ajax 全局调用封装实例代码详解的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下,另外这篇文章主要知识点是关于jquery、ajax全局、ajax封装、jquery的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子资料:

有一种情况:全站都要用异步方式来调用 数据,提交数据,那么你每次操作 都会要$.ajax({.....})

写重复的方法 和代码,冗余太大, 也浪费时间,虽说你有代码自动提示补全,但真的不优雅,身为前端极客,是不能允许的!

【嘿嘿!虽说我现在基本不用jquery了 ,不过异步概念 是永远要用的,就帮助下新人】

jQuery Ajax通用js封装

第一步:引入jQuery库

<script type="text/javascript" src="/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.axpost=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.axspost=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);
}
});
};
});

第三步:调用模拟

<!DOCTYPE html>
<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("出错了");
}
);
$.axpost(getRootPath()+"/test/ajax.html", null, function(data){
alert(data.data);
});
$.axspost(getRootPath()+"/test/ajax.html",
null, 
function(){
alert("成功了");
},
function(){
alert("出错了");
});
});
</script>
</head>
<body>
</body>
</html>

$.axpost(getRootPath()+"/test/ajax.html", null, function(data){
alert(data.data);
});

如上代码:只要填写 url,和要传输的 data 字段就行了,避免了重复工作和代码冗余。

以上内容是小编给大家介绍的jQuery Ajax 全局调用封装实例代码详解的相关内容,希望对大家有所帮助!


上一篇:Bootstrap时间日历插件bootstrap-datetimepicker配置及用法

下一篇:jQuery是如何使用Sizzle的

相关内容

  • 如何解决jquery的flexigrid无法显示数据提示获取到数据问题

    升级了IE10,发现flexigrid无法显示数据,提示获取到了数据,但没任何报错任何显示,经过试验和跟踪,修改如下,有类似问题的朋友可以参考下哈

    04-19jquery的flexigrid无法显示数据提示获取到数据

    阅读更多
  • Jquery瀑布流插件的技巧用法

    瀑布流布局在目前貌似很火爆,具体的分析、原理、用到的知识等等可以看看以下几位牛人写的东西

    01-23Jquery瀑布流插件使用介绍

    阅读更多
  • 实例分享提取jquery的ready()方法

    有一些功能需求,需要在DOM载入时马上执行一些函数,但又不愿意仅为了这一个需求而引入整个JQuery库,于是就把jQuery的方法提取出来,单独使用了

    02-26提取jquery的ready()方法单独使用示例

    阅读更多
  • 详解jQuery .attr()和.removeAttr()方法操作元素属性

    本文为大家详细介绍下如何使用jQuery的.attr()和.removeAttr()方法读取,添加,修改,删除元素的属性,不会的朋友可以参考下哈,希望对大家有所帮助

    01-27jQuery .attr()和.removeAttr()方法操作元素属性示例

    阅读更多
  • jquery操作checked属性以及disabled属性的方法整理

    这篇文章主要介绍了jquery控制checked属性以及disabled属性的多种方法,下面只提到checked,其实disabled在jquery里的用法和checked是一模一样的,需要的朋友可以参考下

    06-15jquery操作checked属性以及disabled属性的多种方法

    阅读更多
  • jQuery实战

    jQuery实战

    jQuery实战(第三版) 适用于想深入学习jQuery的Web开发人员,jQuery是互联网上流行的JavaScript框架。本书的目标是希望读者成为Web高级开发人员,无论起点如何。本书深入介绍了整个jQuery框架,此外

    大小:99.0 MBjQuery

    点击下载
  • jQuery api 3.3.1中文手册

    jQuery api 3.3.1中文手册

    jQuery3.3.1中文手册 是一套jQuery API 3.3.1速查表,很实用的手册,在编写jQuery查看很实用,其内包含了jquery学习过程中的各类知识点,能够让你清楚地了解每一个函数的核心内容,属性以及css框架信息,从而更好的实现编程。需要的朋友可下载试试! 使用说明 这是目前最新版的jQuery api中文文档3.3.1版本。先解压压缩包。在打开软件。如果出现空白情况。请确保IE版本在9.0以上,或者是鼠标右击文件,选择ldquo;属性rdquo;,点击ldquo;取消限制rdquo;即

    大小:1.58 MBjQuery

    点击下载
  • jQuery EasyUI开发指南

    jQuery EasyUI开发指南

    使用Java开发软件的开发人员一定会接触到前端开发,而前端开发有一个流行趋势,那就是插件开发。jQuery EasyUI是目前Java Web领域流行的插件开发工具。《jQuery EasyUI开发指南》主要讲述EasyUI各种

    大小:48.4 MBjQuery

    点击下载
  • jQuery实战案例精粹

    jQuery实战案例精粹

    jQuery实战案例精粹 从Web开发的实际应用角度出发,结合当下热门的 jQuery插件技术,深入浅出地介绍了 jQuery高性能开发的技巧,是前端开发、设计人员的绝佳选择。 本书共 22章,介绍了 jQuer

    大小:272 MBjQuery

    点击下载
  • JavaScript和jQuery实战手册

    JavaScript和jQuery实战手册

    JavaScript可以大大改进网页的动画、交互性和视觉效果,但学习该门语言不太容易。本书通过一步步引导JavaScript基础知识,展示了如何使用jQuery(即预先写好的JavaScript代码库)来节省时间和精

    大小:103 MBJavaScript

    点击下载
  • Web前端开发HTML5/CSS3/jQuery/AJAX从学到用完美实践

    Web前端开发HTML5/CSS3/jQuery/AJAX从学到用完美实践

    本书是著名前端开发大牛阮晓龙老师爽作,HTML5、CSS3、jQuery、AJAX一站搞定,一本真正好学、实用又精彩的书,讲述了用HTML5 CSS3设计构建网站的必备知识,欢迎下载

    大小:167.1 MB前端开发

    点击下载
  • jQuery Mobile从入门到精通

    jQuery Mobile从入门到精通

    《jQuery Mobile从入门到精通》 一书以实例驱动的方式,用近百个实战案例讲述了jQuery Mobile及APP移动开发的相关知识,并通过5个项目案例展现开发流程。全书分为4部分,共19章:第1部分为移动开

    大小:168.7 MBjQuery

    点击下载
  • 疯狂前端开发讲义:jQuery+AngularJS+Bootstrap前端开发实战

    疯狂前端开发讲义:jQuery+AngularJS+Bootstrap前端开发实战

    大小:131.7 MB前端开发

    点击下载
  • jQuery UI开发指南

    jQuery UI开发指南

    《jQuery UI开发指南》 是jQuery UI的快速开发指南,全面介绍jQuery UI如何改进HTML页面展示,内容包括jQuery UI 1.8版本的下列扩展特性:选项卡管理、折叠菜单、对话框、按钮、进度条、滑块、日历

    大小:6.02 MB前端开发

    点击下载
  • Bootstrap与jQuery UI框架设计

    Bootstrap与jQuery UI框架设计

    随着各类移动终端设备的普及 之前针对PC端设计的网站已经无法满足用户的需求 响应式网页设计的概念应运而生。无论用户使用笔记本还是iPad 页面都应该能够自动切换分辨率、图片尺寸及相

    大小:180 MBjQuery

    点击下载

学习笔记

36小时57分钟前回答

实例解析jquery ajax jsonp跨域调用

客户端代码 %@ Page Language=C# AutoEventWireup=true CodeBehind=WebForm1.aspx.cs Inherits=WebApp.WebForm1 % !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd html xmlns=http://www.w3.org/1999/xhtml head runat=server script src=jquery-1.7.1.min.js type=text/javascript/script script type=text/javascript function aa() { $.ajax({ url: http://localhost:12079/WebForm2.aspx, data: p1=1p2=2callback=?, type: post, processData: false, timeout: 15000, dataType: jsonp, // not json well parse jsonp: jsonpcallback, success: function(result) { alert(result.value1); } }); } /script title/title /head body form id=form1 runat=server div /div /form p input id=Button1 type=button value=button onclick=aa() //p /body /html 服务器端代码 ……

8小时51分钟前回答

JQuery和Js中让ajax执行完后再继续往下执行的实现方法

$.ajax ({ cache: false, async: false, // 太关键了,学习了,同步和异步的参数 dataType: json, type: post, url: ../handle/Ladder_Fee_Code.ashx?ajaxaction=Select_FangAn, success: function (data) { alert(1); } }); alert(2); ……

5小时18分钟前回答

jQuery Ajax数据加载知识点总结

加载 HTML 我们通常使用加载 HTML 的方法来加载 HTML 片段,并插入到指定位置,假设当前页面为: div/divbuttonload/button 同目录下的 test.html 文件内容为: spantest/span 我们可以使用 load 方法来加载 HTML,将其绑定到按钮的点击事件上: $(button).click(function() { $(div).load(test.html); }); 点击按钮后: 加载 JSON JSON 即 Javascript Object Notation,直译过来即 Javascript 对象表示法,因此它能很方便地表示和传输数据,它规定键和值都必须包含在双引号内,且函数为非法 JSON 值。 { name: stephenlee, sex: male} 将上述 JSON 数据保存在 test.json 文件内。我们可以使用 getJSON 方法加载 JSON 数据,同样将其绑定在按钮的点击事件上: $(button).c……

12小时5分钟前回答

为jquery的ajax请求添加超时timeout时间的操作方法实例详解

下面给大家介绍为jquery的ajax请求添加超时timeout时间的实例 有时侯要用ajax来轮询某个服务是否可用,但是各个浏览器ajax的超时时间有可能不一样,所以希望ajax能只尝试几秒钟,然后隔几秒再次发送一次ajax检查一次。可以用timeout属性。 var checkLoading = function(timer) { //先延时再获取状态,否则立即获取可能重启前的服务还没有关闭 setTimeout(function() { $.ajax({ url: /onceos/version, dataType: json, timeout: 4000, success: function(result) { console.log(OK) }, error: checkLoading }) }, timer || 1000)}//第一次等10秒,第一次轮checkLoading(10000) 补充:下面介绍下jquery ajax超时设置 var ajaxTimeoutTest = $.ajax({ url:, //请求的URL timeout : 1000, //超时时间设置,……

16小时52分钟前回答

jQuery使用ajaxSubmit()提交表单方法步骤

ajaxSubmit(obj)方法是jQuery的一个插件jquery.form.js里面的方法,所以使用此方法需要先引入这个插件。如下所示: script src=http://code.jquery.com/jquery-1.11.0.min.js/script script src=http://malsup.github.io/jquery.form.js/script 那么,如何通过ajaxSubmit(obj)提交数据呢?首先我们需要一个form: XHTML form 标题:input type=text name=title /br / 内容:textarea name=contenttextarea/br / button提交/button /form 上面是一个需要提交内容的form,通常情况下,我们直接通过form提交的话, 提交后当前页面跳转到form的action所指向的页面。然而,很多时候我们比不希望提交表单后页面跳转,那么,我们就可以使用ajaxSubmit(obj)来提交数据。使用方法如下所示: $(but……