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条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)