自己编写Ajax
自己编写AJAx 封装成一个js 文件,
var AjaxUntilHelper ={
xmlXHR:function(){
xmlHttp=null;
if(window.XMLHttpRequest){
// code for IE7, Firefox, Opera, etc.
xmlHttp = new XMLHttpRequest();
}else if(window.ActiveXObject){
// code for IE6 ,IE5
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
return xmlHttp;
},
//get 请求
AjaxGet:function(url ,successFun){
this.ajaxOpt("get", url,null, sucessFun);
},
//post 请求
AjaxPost:function(url,data,successFun){
this.ajaxOpt("get", url,data, sucessFun);
},
/**定义ajax的get和post请求 ,
* httpMenthod :get,post,
* data:发送给服务器的数据,post有值,get为null
sucessFun成功的回掉函数 **/
ajaxOpt:function(httpMenthod,url,data,successFun){
//由于get 和 post所走的流程不一样,转换成小写,进行判断
var httpmenth=httpMenthod.toLowerCase();
//创建定义XMLHttprequest对象
var ajaxobj = this.xmlXHR();
//异步对象设置参数,总是异步true
ajaxobj.open(httpMenthod, url, true);
if(httpmenth =='get'){
ajaxobj.setRequestHeader("If-Modified-Since", "0");
}else {
//告诉服务器请求的数据类型
ajaxobj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
}
//设置一个回调函数
ajaxobj.onreadystatechange =function(){
if(ajaxobj.readyState ==4){
if(ajaxobj.status== 200){
var jsonObj = JSON.parse(ajaxobj.responseText);
if (jsonObj.Status == "sucess") {
sucessFun(jsonObj);
}
else {
alert("Problem retrieving XML data");
}
}
}
}
ajaxobj.send(data);
},
}
//异步post请求新增
ajaxHelper.ajaxPost("getdata.jsp?type=add", parms, function (jsonobj) {
// ajaxHelper.ajaxGet("getdata.ashx?type=getdata", function (jsonobj) get方法没有parms属性
if (jsonobj.Status == "error") {
//提示失败的信息
} else {
//进行成功操作
}
})
相关推荐
结束数据方法的参数,该如何定义?-- 集合为自定义实体类中的结合属性,有几个实体类,改变下标就行了。<input id="add" type="button" value="新增visitor&quo