<script>
var ajax = (function() {
var parseParam = function(origin , target) {
origin = origin || {};
target = target || {};
var obj = {};
for(var key in origin) {
if(target[key]) {
obj[key] = target[key];
} else {
obj[key] = origin[key];
}
}
return obj;
};
var getXhr = function() {
var _xhr = false;
try {
_xhr = new XMLHttpRequest();
} catch(ms) {
try {
_xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch(otherms) {
try {
_xhr = new ActiveXObject("MICROSOFT.XMLHTTP");
} catch(failed) {
}
}
}
return _xhr;
};
var jsonToQuery = function(jsonObj) {
var result = [];
for(var key in jsonObj) {
result.push(key + "=" + jsonObj[key]);
}
return result.join('&');
};
/*
* {
* url :
* args :
* method :
* complete :
* }
*/
var funcEmpty = function() {};
return function(opts) {
opts = parseParam({
type : "json",
url : "",
args : {},
method : "get",
complete : funcEmpty
} , opts);
console.log(opts.url);
var xhr = getXhr();
var url = opts.url;
var query = jsonToQuery(opts.args);
var cback = function() {
if(xhr.readyState === 4) {
if(opts.type === 'json') {
var obj = eval('(' + xhr.responseText + ')');
opts.complete(obj);
} else {
var result = xhr.responseXML;
opts.complete(result);
}
}
};
xhr.onreadystatechange = cback;
var setHeader = function() {
try {
xhr.setRequestHeader('Content-Type' , 'application/x-www-form-urlencoded');
xhr.setRequestHeader('X-Requested-With' , 'XMLHttpRequest');
} catch(e){
}
};
if(opts.method === 'get') {
url = url + (url.indexOf('?') == -1 ? '?' : "&") + query;
xhr.open("get" , url , true);
setHeader();
xhr.send(null);
} else {
xhr.open("post" , url , true);
setHeader();
xhr.send(query);
}
};
})();
ajax({
url : "/php/test/ajax.php",
method : "post",
args : {
a : 1,
b : 2,
c : 3
},
complete : function(json) {
console.log(json);
}
});
</script>
分享到:
相关推荐
可以直接使用里面的函数,AJAX的操作封装起来了,同事刚给的,也没用过,先接csdn放着...
ajax手写 ajax 函数 js文件
很实用的ajax函数 纯js编写 调用方式: $get('/checkUserName/?userName=mzoe', function(str) { alert(str); }); $post('/checkUserName/', 'userName=mzoe', function(str) { alert(str); });
js定义对象,实现ajax通用函数,减少每次定义的过程
本函数封装了js的ajax,php为处理后台数据,仅支持post,代码很简洁
自己整合的一个AJAX函数库,从此让你的AJAX开发简单方便. 调用方法: <script type="text/javascript" src="ajax.js"> <div id="mydiv"></div> <script type="text/javascript"> function myFun(){ loading('正在...
简单好用的ajax库函数,js代码,只有6K大小,可以代替JQuery中几M的函数库. 调用方法: ajaxSendGet('返回函数名', '访问的URL'); ajaxSendPost('返回函数名', '访问的URL', 'POST提交的参数内容'); 返回函数: function...
javascript通过Ajax直接调用任意PHP函数多参数例程 菜农在网友指点下完成此例程,非常感谢!!! 雁塔菜农HotPower@163.com 2018.6.20于西安雁塔菜地 测试网址:http://www.hotpage.com.cn/phptest/HotFunction.html
Ajax的通用函数,兼容IE chrome firefox
AJAX 载入JS文件,载入CSS文件,载入JS函数,执行JS 。ASP应用
一个通过ajax+js技术实现的客户端函数动态执行服务器端后台函数,采用js+AJAX技术实现
而现在使用的ajax函数是一个后台人员封装的—-但他又是基于jquery的ajax,所以离开了jquery这个函数就毫无作用了.而且我觉得,jquery的ajax方法是很完善的了,可以直接用,如果都有jquery了,那么他的ajax就不用白不用了....
深入浅出的讲解JavaScript中最难理解的Js构造函数、原型链、Ajax三大部分
对ajax基础的封装
P(url,callback,arr) POST方式的ajax函数 G(url,callback,arr) GET方式的ajax函数 L(name);显示/隐藏元素 hidden(name);隐藏 show(name);显示 GetLen(str) 计算字符串的长度,汉字占两个字符 InitHeight(obj) 自适应...
用ajax函数读取xml,然后解析XML.html,ajax无刷新读取文件,先使用jQuery加载XML,然后建立一个代码片段,遍历所有student节点,获取id节点,获取节点文本,获取student下的email属性,构造HTML字符串,通过append...
js写的ajax核心构造和改写alert函数.
本人博客中所包含的prototype文件 ajax.js是本人从prototype-1.3.1.js提取的ajax库 为方便调用,本人另写了两个函式:...因此对以上函数进行重写,现在已兼容所有版本的prototype.js,方便在项目开发中进行ajax调用。
封装原生js封装一个ajax函数,只需传地址和数据,加回调就可以使用。
js类库包js类库包js类库包js类库包ajax