a4428707 2010-12-06 13:11
浏览 239
已采纳

Action返回给Ajax,ajax接收值的问题

//根据IE的类型创建一个XmlHttpRequest对象
function createXmlHttpRequest(){

if(window.ActiveXObject)

{

return new ActiveXObject("Microsoft.XMLHTTP");

}

else if(window.XMLHttpRequest)

{

return new XMLHttpRequest;

}

}

var xmlHttpRequest;

//根据用户名称发送请求到服务器

function requestServer(){

var userName=document.getElementById("uname").value;
if ( userName== ""){
alert("请输入用户!");
document.getElementById("uname").focus();
return;
}
var userPassword=document.getElementById("upassword").value;
if ( userPassword== ""){
alert("请输入密码!");
document.getElementById("upassword").focus();
return;
}
var securityCode=document.getElementById("validateNum").value;
if ( securityCode== ""){
alert("请输入验证码!");
document.getElementById("validateNum").focus();
return;
}
var cookieData=document.login.cookieData.checked;
delCookie("cookieName");
delCookie("cookiePassword");
delCookie("cookieData");
if(cookieData==true){

saveCookie("cookieName",userName);

saveCookie("cookiePassword",userPassword);

saveCookie("cookieData",cookieData);

}

var account=document.getElementById("uname").value;
if(account!=null) {
var url="userAction.do?action=checkValidName&account="+account;

//创建XMLHttpRequest组件

xmlHttpRequest=createXmlHttpRequest();

//设置回调函数,让其等待服务器的响应

xmlHttpRequest.onreadystatechange=doSubmit;

//初始化xmlHttpRequest组件,传入URL

xmlHttpRequest.open("GET",url,true);

//发送请求

xmlHttpRequest.send(null);
}

}

//登录,获得服务器返回的信息并做出相应提示

function doSubmit(){
if(xmlHttpRequest.readyState==4 && xmlHttpRequest.status==200){

var text=xmlHttpRequest.responseText;
alert(text);
if(text=="1"){

alert("此用户名不存在!");
document.getElementById("uname").focus();
return;

}else if(text=="2"){

alert("验证码错误");
document.getElementById("validateNum").focus();
return;

}else if(text=="0"){

submitForm(login);
}

}
}

Action调用下面这个JAVA类

Java类代码

  • 判断用户名和验证码是否正确
    */
    public int checkValidName(){
    System.out.println("我进来checkValidName了");
    String account = ServletActionContext.getRequest().getParameter("account");
    System.out.println(account);
    //判断用户名是否存在
    int a = this.privilegeService.ValidName(account);
    if(a==1) {
    this.setMessage("用户名不存在!");
    return 1;
    }else{
    //判断验证码是否正确
    String validateNum = this.getValidateNum();
    String result = ServletActionContext.getRequest().getSession().getAttribute("ValidateNum").toString();
    if(validateNum == null ||result == null || validateNum.trim().equals("")||!result.equalsIgnoreCase(validateNum)){
    this.setMessage("验证码输入错误登录失败!");
    return 2;
    }
    }

    return 0;
    }

    var text=xmlHttpRequest.responseText;
    alert(text);为什么text打印出来是下面图片信息啊

为什么我得到的text不是我Action返回的值?我要怎么才能得到Action return的值。

  • 写回答

7条回答 默认 最新

  • andy_javahome 2010-12-06 13:30
    关注

    Writer writer = reponse.getWriter();
    System.out.println("Json Data :" + jsonObject.toString());
    writer.write("这方你要返回的值,String类型");

    checkValidName返回null就可以了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥20 iOS绕地区网络检测
  • ¥15 python验证码滑块图像识别
  • ¥15 根据背景及设计要求撰写设计报告
  • ¥15 QT6颜色选择对话框显示不完整
  • ¥20 能提供一下思路或者代码吗
  • ¥15 用twincat控制!
  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 单通道放大电路的工作原理
  • ¥30 YOLO检测微调结果p为1
  • ¥15 DS18B20内部ADC模数转换器