$("#email").keyup(function(){
var txt = $(this).val().trim();
if(txt==""){
$("#emailInfo").html("不能为空!");
}else{
$.post(
"formCheck.action?dt="+new Date().getTime(),
{"emailName":txt},
function(data){
if(data.ok){
$("#emailInfo").html("用户名正确!");
b=1;
}else{
$("#emailInfo").html("用户名已经存在!");
}
},
"json"
);
}
});
action:
public String execute(){

UserDAO dao=DAOFactory.getUserDAO();
try {
         System.out.println(emailName);
int count=dao.findByEmail(emailName);
System.out.println(count);
if (count==1){
ok=false;
}else{
ok=true;
}
return "find";
} catch (DangException e) {

e.printStackTrace();
   return "error";

}

}这样能得到ok的值吗?在就是地址后面的参数dt有什么作用啊 ??

解决方案 »

  1.   

     好像不能, 你的action中返回一个error和find ,js中的回调函数好像不认。 你可以定义一个json,在回调中进行判断。  json可以用out对象输出, return 就给个null就好了。
      

  2.   

    $.post(
    "formCheck.action",
    {"emailName":txt,"dt":XXXXX},
    function(data){
    if(data=='true'){
    $("#emailInfo").html("用户名正确!");
    b=1;
    }else{
    $("#emailInfo").html("用户名已经存在!");
    }
    }ACTIONout.println("true");AJAX 能得到你out.println的数据 也就是response.getwrite();
    既然LZ想要时间的话 会到ACTION里面再用也未尝不可呀~!