自己分装的前端Ajax框架,请各位批评指正~~
/**
* myAjax.js file is used by created Ajax in Web page. 这个文件是封装好的Ajax包,可以直接调用
* @Author: Alvin Xing 邢嵩林
* @Param: servlet: It is servlet that deal with this Ajax. 需要处理的servlet(或者jsp或其他html)
*
dispatchPage: It is the url when validate successfully. 验证成功后跳转到这个url
*
changeDiv: It is the div ID that need changed by Ajax in JSP. 结果需要在这个Div里显示
*
waiting: It is a waiting things, which could let user feel good. It could be a img Tag. 等待加载的信息,可以穿图片,e.g:'
'
*
params: It is the parameters you need send to servlet. 提交给servlet的参数
*
errStr: It is the errro information when validate failed. 验证失败时需要显示的错误信息,显示在id等于changDiv的元素里.
* Tiptop: All parameters are String. you could use '',if you want to use it in "".
* 注 意: 所有参数均为字符串,需加''或者"". 如果在""中使用,可以选择''.
* 例 子: οnclick="ajaxFunction('servlet','login.jsp','Div001','正在加载','a=10','该用户已注册')";
*
//以上表达式表示: 将参数a=10发送给servlet,若成功,则返回login.jsp页面,若失败,则当前页面不提交,只在id="Div001"的标签中显示错误信息"该用户已注册"字样.
*/
function ajaxFunction(servlet,dispatchPage,changeDiv,waiting,params, errStr){
//Create the Ajax
var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//Define the method to deal with the result.
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var result = xmlhttp.responseText;
var temp = eval(result);
if(temp == true){
window.location.href=dispatchPage;
return false;
} else {
document.getElementById(changeDiv).innerHTML = errStr;
return false;
}
} else {
document.getElementById(changeDiv).innerHTML = waiting; //
}
}
//Open and Send the Ajax
//
xmlhttp.open("GET","Ajax.html?way=get",true); //Get方式的Ajax请求
//
xmlhttp.send(null);
xmlhttp.open("Post", servlet, false); //Post方式的Ajax请求
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(params);
}