Jquery Ajax二次封装(部分转载)

/*

ajax调用扩展

*/

$.extend($,{

ajaxGetJson:function(url,data,callback)

{

$.ajax({

url:url,

data:data,

datatype:"json",

method:"get",

contentType: "application/json",

beforeSend:function(){

//myLoad();//打开加载层

},

complete:function(data){

//closeLoad();//关闭加载层

},

success: function(msg) {

if (typeof callback != ‘undefined‘)

callback.call(this, msg);

}

});

},

ajaxPostJson:function(url,data,callback)

{

$.ajax({

url:url,

data:data,

datatype:"json",

method:"post",

contentType: "application/json",

beforeSend:function(){

//myLoad();//打开加载层

},

complete:function(data){

//closeLoad();//关闭加载层

},

success: function(msg) {

if (typeof callback != ‘undefined‘)

callback.call(this, msg);

}

});

}

});

参考示例:

function AjaxMethod() {

//this.init.apply(this, arguments);

}

AjaxMethod.prototype = {

init: function() {

debugger;

},

GetJson: function() {

jQuery.getJSON(

"Json.ashx",

{ name: ‘test‘, age: 32 },

function(data) {

debugger;

var txt = eval(data);

//var obj = data.toJSONString(); //由JSON字符串转换为JSON对象

var objs = JSON.stringify(data); //由JSON字符串转换为JSON对象

alert(txt);

})

},

GetAjax: function() {

jQuery.ajax({

url: "Json.ashx",

type: "get",

dataType: "json",

contextType: "application/json; charset=utf-8",

data: { name: ‘test‘, age: 32 },

success: function(data) {

debugger;

jQuery.each(data, function(i) {

});

},

error: function() {

//请求出错处理

alert(1);

}

})

},

PostAjax: function() {

jQuery.post(

"Json.ashx",

{

name: userName,

age: 12

// ajaxMethod: "Login"

},

function(data) {

var d = data;

},

"json"

);

}

}

var method=new AjaxMethod();

封装 jquery ajax,加入loading加载

$.extend($, {

/*

*ajax调用封装,返回json

* url 服务路径

* data一般为js对象

* callback 回调函数

*/

MyAjax: function(url, data, callback) {

$.ajax({

url: url,

data: data,

dataType:‘json‘,

method: "post",

beforeSend:function(){

myLoad();//打开加载层

},

complete:function(data){

closeLoad();//关闭加载层

},

success: function(msg) {

if (typeof callback != ‘undefined‘)

callback.call(this, msg);

}

});

}

});

使用:

$.MyAjax("/test","data=1",callBack);

function callBack(json){

alert(json.msg);

}

jQuery Ajax通用js封装

/*****************************************************************

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>

时间: 2024-10-25 18:59:40

Jquery Ajax二次封装(部分转载)的相关文章

jquery Ajax 全局调用封装

有一种情况:全站都要用异步方式来调用 数据,提交数据,那么你每次操作 都会要$.ajax({.....}) 写重复的方法 和代码,冗余太大, 也浪费时间,虽说你有代码自动提示补全,但真的不优雅,身为前端极客,是不能允许的! [嘿嘿!虽说我现在基本不用jquery了 ,不过异步概念 是永远要用的,就帮助下新人] jQuery Ajax通用js封装 第一步:引入jQuery库 <script type="text/javascript" src="/js/jquery.mi

jQuery Ajax通用js封装

第一步:引入jQuery库 <script type="text/javascript" src="<%=path%>/resources/js/jquery.min.js"></script> 第二步:开发Ajax封装类,已测试通过,可以直接调用,直接贴代码,讲解就省了 /***************************************************************** jQuery Ajax封装

对jquery中的$.ajax二次封装 从而多次调用 今天一整天都在想这个事情

当然了  我封装的是$.ajax  可以传参数  多次调用请求接口  为啥我们这地方不注重前端呢  我都不知道为啥去坚持 不说了  上代码 js文件 $ajax.js $(function(){ /** * ajax封装 * url 发送请求的地址 * data 发送到服务器的数据,数组存储,如:{"username": "张三", "password": 123456} * succCallback 成功回调函数 * errorCallback

jquery ajax的再次封装,简化操作

1.封装的ajax var funUrl=""   // 每个请求地址相同的部分 function queryData(url,params,success,error){ url=funUrl+url;// 拼接请求地址 var success = arguments[2]?arguments[2]:function(){};// 成功执行的函数 var error = arguments[3]?arguments[3]:function(){};// 失败执行的函数 $.ajax(

jQuery ajax中的参数含义

所有options均可选,下面简要说明每个option 1.async 默认为true,即请求为异步请求,这也是ajax存在的意义.但同时也可以将这个参数设置为false,实现同步请求.(同步请求会锁定浏览器,直到这个请求结束后才可以执行其他操作) 2.bforeSend(XHR) 这个方法是用来在发送请求前修改XMLHttpRequest对象的,若修改失败返回false,则取消此次ajax请求: 3.cache 默认为true,设置为false即不缓存.(当datatype为script或ja

对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache

虽然jquery的较新的api已经很好用了, 但是在实际工作还是有做二次封装的必要,好处有:1,二次封装后的API更加简洁,更符合个人的使用习惯:2,可以对ajax操作做一些统一处理,比如追加随机数或其它参数.同时在工作中,我们还会发现,有一些ajax请求的数据,对实时性要求不高,即使我们把第一次请求到的这些数据缓存起来,然后当相同请求再次发起时直接拿之前缓存的数据返回也不会对相关功能有影响,通过这种手工的缓存控制,减少了ajax请求,多多少少也能帮助我们提高网页的性能.本文介绍我自己关于这两方

jQuery中对AJAX操作的封装函数

jQuery提供了6个简化AJAX操作的函数,每个都可以代替元素AJAX中的四步代码! (1)$('xxx').load()         jQuery对象函数 (2)$.get()                   jQuery全局函数 (3)$.post()                 jQuery全局函数 (4)$.getScript()          jQuery全局函数 (5)$.getJSON()           jQuery全局函数 (6)$.ajax()     

玩转web之JQuery(二)---改变表单和input的可编辑状态(封装的js)

var FormDeal = { /** * 功能 :将表单的所有input都设为可编辑的 *@param 要操作表单的id */ formWritable: function (formId) { $("#"+formId+" input,textarea").removeAttr("readonly"); $("#"+formId+" input,textarea").css('backgroundCo

jQuery Ajax封装通用类 (linjq)

jQuery Ajax封装通用类 (linjq) $(function(){ /** * ajax封装 * url 发送请求的地址 * data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(), "state": 1} * async 默认值: true.默认设置下,所有请求均为异步请求.如果需要发送同步请求,请将此选项设置为 false. * 注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行. * t