ajax简单封装:
function AjaxSimpleWrap() {
//-------------------
var ieReqVersions = ['Microsoft.XMLHTTP' ,'MSXML.XMLHTTP',
'Msxml2.XMLHTTP.7.0','Msxml2.XMLHTTP.6.0',
'Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0',
'MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP'];
var reqInfo = null;
var xmlHttpReq = null;
var setReqInfo = null;
//---------util:start--------------
var copyProperty = function(destination,source){
for(property in source){
destination[property]=source[property];
}
return destination
};
//---------util:end----------------
//-----------------action:start---------------------
var createReqObj = function(){
if (window.XMLHttpRequest) {
xmlHttpReq = new XMLHttpRequest();
}else if(window.ActiveXObject){
for(var i=0; i<ieReqVersions.length; i++) {
try {
xmlHttpReq = new ActiveXObject(ieReqVersions[i]);
if(xmlHttpReq){break;}
}catch(e){
alert("there's a error in creating ajax-object");
}
}
}
};
var callback = function(){
if (xmlHttpReq.readyState == 4) {
if (xmlHttpReq.status == 200) {
if(reqInfo.connectSuccess) reqInfo.connectSuccess();
}else{
if(reqInfo.connectFail){reqInfo.connectFail();}
else {alert("Not able to retrieve description" + xmlHttpReq.statusText + xmlHttpReq.status);}
}
}
};
//------------------action:end----------------------
//---------------interface:start--------------------
this.setReqInfo = setReqInfo = function(param){
reqInfo=copyProperty({
reqMode:"get",
reqURL:null,
reqParam:null,
connectSuccess:null,
connectFail:null
},param||{});
};
this.connect = function(param){
if(typeof param!='undefined') setReqInfo(param);
var reqmode = reqInfo.reqMode.toLowerCase();
if(reqmode=='get'){
var reqString = reqInfo.reqURL+"?"+reqInfo.reqParam;
xmlHttpReq.open('GET',reqString);
xmlHttpReq.onreadystatechange = callback;
xmlHttpReq.send(null);
}else if(reqmode=='post'){
xmlHttpReq.open('POST', reqInfo.reqURL);
xmlHttpReq.onreadystatechange = callback;
xmlHttpReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xmlHttpReq.send(reqInfo.reqParam);
}
};
this.getXML = function(){
return xmlHttpReq.responseText;
};
this.getText = function(){
return xmlHttpReq.responseXML;
};
//---------------interface:end--------------------
(function(){
createReqObj();
})();
}
=============================================================
例子:
AjaxObj.connect({reqMode:"get",
reqURL:"wh/servlet/EmailAjaxServlet",
reqParam:("type=2&mailboxid=123&userreqid=123"),
connectSuccess:reciveSuccess,
connectFail:reciveFail});
-------------------------------------------------------------------
其他一坨java的东西还在做,差不多的时候再发出来
分享到:
相关推荐
【知识点详解】 1. "风神"卫星:这是一颗专门设计用来测量地球低层大气风速和风向的卫星,对于气象预报和灾害管理具有重要意义。它可以帮助科学家和气象学家实时监测全球范围内的风况,提高天气预报的准确性,及时...
自定义dialog对话框源码,由于最近写项目用到很多dialog,我测试用的机器还是2.3的系统,自带的太难看了,网上有些好看的对话框,...以前一直潜水在学习,不发点东西,洒家过意不去啊!。仅供像我一样的初学者参考。
另外,避免不发贴的人白白地下载,所以采取设置阅读权限的方式阻止那些潜水的人,还有就是因为我也付出了很多努力才做出来的,所以在这里也要点BBS金钱哈,希望大家多多谅解. 具体成果有:(1)开发了一些常规的GIS基本...
2. 地球运行:当地球运行到九月二十三日时,北半球处于秋分点,此时昼夜几乎等长,北极圈不会出现极夜,晨昏线与赤道相切,而非北极圈。南半球此时进入秋季。 3. 北斗七星运动:北斗七星围绕北极星呈逆时针方向运动...
2. dive (潜水) 3. sceptical (怀疑的;不相信的) 4. cover (占地,多大面积) 5. journal (杂志;学报;期刊) 形意记忆的词汇练习则有助于学生通过词根词缀理解新词汇: 1. footprint (足迹;脚印) 和 fingerprint ...
之前一直潜水,但是后来写了点程序回馈大家,献丑了!大家都知道下载yahoo 或者google的的股票数据API,但是option他们没有提供API。 所以,一般的entry level的数据拿daily的就好了. 所以今天鄙人讲讲怎么在google ...