52,797
社区成员
发帖
与我相关
我的任务
分享
var AjaxUtil={
creat:function(){
//1.创建XMLHttpRequest对象
var xmlReq=null;
if(window.XMLHttpRequest){//非IE下有效
xmlReq=new XMLHttpRequest();
}else{//IE下
try {
xmlReq=new ActiveXObject("Msxm12.XMLHTTP");//IE6之后的版本
} catch (e) {
xmlReq=new ActiveXObject("Microsoft.XMLHTTP");//IE6之前
}
}
return xmlReq;
},
ajax:function(_method,_url,_param,_handle){//Get还是Post,url,参数,回调函数
//1.创建XMLHttpRequest对象
var xmlReq=this.creat();
if(!xmlReq){
alert("您的浏览器不支持某些功能,请升级!");
}
//如果是get方式,参数要加在url后面
if(_method=='get' || _method=='GET' || _method=='Get'){
_url=_url+"?"+_param
}
//2.连接服务器(打开和服务器的连接)
xmlReq.open(_method, _url, true);
//3.发送(判断方式选择get或者post)
if(_method=='get' || _method=='GET' || _method=='Get'){
xmlReq.send();
}else if(_method=='post' || _method=='POST' || _method=='Post'){
xmlReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
alert(_param);
xmlReq.send(_param);
}
//4.接收
xmlReq.onreadystatechange=function (){
if(xmlReq.readyState==4 && xmlReq.status==200){
_handle(xmlReq.responseText || xmlReq.responseXML);
}
}
},
get:function(_url,_param,_handle){
this.ajax("get",_url,_param,_handle);
},
post:function(_url,_param,_handle){
this.ajax("post",_url,_param,_handle);
}
}
submit.onclick=function(){
var accountValue = account.value;
var passwordValue= password.value;
var param = "account=" + accountValue + "&password=" + passwordValue;
var tipInner=document.getElementById("accountTip").innerHTML;
if((accountValue!="")&&(passwordValue!="")){
AjaxUtil.post("/moxiang/login.do",param,handle2);
}else{
if(!(regaccount.test(account.value))){
accountTip.innerHTML = "*账号不能为空!";
}
if(!(regpassword.test(password.value))){
passwordTip.innerHTML = "*密码不能为空!";
}
}
}
var param = "account=" + accountValue + "&password=" + passwordValue;
2.JSP之前调用了以此ajax,get方式做账号是否存在验证,第二次调用ajax,用post方式提交参数,问题就出在这次,是否是第一次get方式与第二次的post有什么冲突.
下面是JSP的js代码:
window.onload = function() {
/*账号框和密码框*/
var account = document.getElementById("account");
var password=document.getElementById("password");
var submit=document.getElementById("submit");
/*提示标签*/
var accountTip=document.getElementById("accountTip");
var passwordTip=document.getElementById("passwordTip");
var tip=document.getElementById("tip");
/*非空验证正则表达式*/
var regaccount=/\S/;
var regpassword=/\S/;
/*输入框聚焦后提示标签消失*/
account.onfocus=function(){
tip.innerHTML="";
if(account.value==""){
accountTip.innerHTML = "";
}
}
password.onfocus=function(){
passwordTip.innerHTML = "";
tip.innerHTML="";
}
/*正则表达式+事件验证密码是否为空*/
password.onblur=function(){
if(!(regpassword.test(password.value))){
passwordTip.innerHTML = "*密码不能为空!";
}else{
passwordTip.innerHTML = "";
}
}
/*Ajax方法验证账号是否存在回调函数*/
var handle1=function(data) {
if (data == 'fail') {
accountTip.innerHTML = "您输入的账号不存在!";
}
}
account.onblur = function() {
/*正则表达式+事件验证账号是否为空*/
if(!(regaccount.test(account.value))){
accountTip.innerHTML = "*账号不能为空!";
}else{
/*Ajax方法验证账号是否存在*/
accountTip.innerHTML = "";
var accountInner = account.value;
var passwordInner = password.value;
AjaxUtil.get("/moxiang/login.do","account="+accountInner,handle1);
}
}
/*Ajax提交是否存在回调函数*/
var handle2=function(data) {
if (data == 'fail2') {
tip.innerHTML = "您输入的账号或密码有误!";
}
}
/*Ajax方法Post提交参数*/
submit.onclick=function(){
var accountValue = account.value;
var passwordValue= password.value;
var param = "account=" + encodeURIComponent(accountValue) + "&password=" + encodeURIComponent(passwordValue);
alert(param=="account=root&password=123456");
var tipInner=document.getElementById("accountTip").innerHTML;
if((accountValue!="")&&(passwordValue!="")){
AjaxUtil.post("/moxiang/login.do","account=root&password=123456",handle2);
}else{
if(!(regaccount.test(account.value))){
accountTip.innerHTML = "*账号不能为空!";
}
if(!(regpassword.test(password.value))){
passwordTip.innerHTML = "*密码不能为空!";
}
return false;
}
}
}