<script>
/**
* 用法试例:
* var obj = new myAjax();
* obj.send(url, "post", data, false, function(data){});
* -
* args_1 | 提交路径
* args_2 | 提交方式(get、post)
* args_3 | 提交数据(数组)
* args_4 | 是否同步(true-异步[默认],false-同步)
* args_5 | 回调函数
*/
var myAjax = function(){
var me = this;
this.args = arguments;
this.execCallBack = "";
this.createxmlHttpRequest = function(){
if(!me.request){
if(window.XMLHttpRequest){
return new XMLHttpRequest();
}else{
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
}
this.send = function(){
me.request = me.createxmlHttpRequest();
var send = "";
for(var item in arguments[2]){
send += "&" + item + "=" + arguments[2][item];
}
if(arguments[1].toLowerCase() == "post"){
url = arguments[0];
}else{
url = arguments[0] + send
send = null;
}
me.request.open(arguments[1].toLowerCase(), url, arguments[3]);
me.execCallBack = arguments[4];
if(navigator.userAgent.indexOf("Firefox") <= 0 && !arguments[3]) {
me.request.onreadystatechange = me.callback;
}
me.request.setRequestHeader("content-type", "application/x-www-form-urlencoded");
me.request.send(send);
if(!(navigator.userAgent.indexOf("Firefox") <= 0 && !arguments[3])) {
if(arguments[3]){
me.request.onreadystatechange = me.callback;
}else{
me.request.onreadystatechange = me.callback();
}
}
}
this.callback = function(){
if (me.request.readyState == 4 && me.request.status == 200){
new me.execCallBack(me.request.responseText);
}
}
}
//测试开始...
var url = "page_test.php?action=test";
var data = new Array();
data["user"] = "zhangsan";
var obj = new myAjax();
obj.send(url, "post", data, true, function(data){
alert(data);
});
</script>
ajax
最新推荐文章于 2025-04-28 20:03:49 发布