已经确定service层无错!
action里这么写的:
[code="java"]public void checkUserExist() throws Exception{
String param = request.getParameter("param");
// System.out.println("传入的参数值为:"+param);
users = new Users();
users.setLoginName(param);
//查询该用户名
int c = userService.checkUserHasExist(users);
System.out.println(c);
if(c!=0){
String info = "该用户名已存在,请重新输入!";
String status = "n";
JSONArray jsonObj = JSONArray.fromObject("[{info:"+info+",status:"+status+"}]");
writeJson(jsonObj.toString());
}else{
JSONArray jsonObj = JSONArray.fromObject("[{info:'该用户名可以使用!',status:'y'}]");
writeJson(jsonObj.toString());
}
}[/code]
到页面的时候,直接显示出[quote][{info:'该用户名可以使用!',status:'y'}][/quote]
请问我应该怎么让他只显示,“该用户名可以使用”。
其中的y和n表示数据提交是否正确!n表示提交错误,按说y应该提交正确了,但是还是红色字显示,意思是还是错误,虽然已经判断了是否存在用户名。
我的jquery这么写的:
[code="java"]if($(this).attr("ajaxurl")){
var inputobj=$(this);
inputobj.attr("valid",tipmsg.c);
$.fn.Validform.sn.showmsg(tipmsg.c,settings.tiptype,{obj:inputobj,type:1,sweep:settings.tipSweep},"hide");
$.ajax({
type: "POST",
url: inputobj.attr("ajaxurl"),
data: "param="+$(this).val()+"&name="+$(this).attr("name"),
dataType: "text",
success: function(s){
if(s=="y"){
inputobj.attr("valid","true");
errorobj=null;
$.fn.Validform.sn.showmsg(tipmsg.r,settings.tiptype,{obj:inputobj,type:2,sweep:settings.tipSweep},"hide");
}else{
inputobj.attr("valid",s);
errorobj=inputobj;
$.fn.Validform.sn.showmsg(s,settings.tiptype,{obj:inputobj,sweep:settings.tipSweep});
}
},[/code]
JSP页面如下:
[code="java"]
帐号:
ajaxurl="login/checkUserExist.action" nullmsg="请输入用户名!" errormsg="帐号至少6个字符,最多18个字符,只能是数字字母下划线!" />
[/code]
ajaxurl就是要检查的action。
//表单数据是以POST方式提交过来;
//注意json数据必须严格按如下格式输出:{"info":"demo info","status":"y"};
//info: 输出提示信息;
//status: 返回提交数据的状态,是否提交成功。“y”表示提交成功,“n”表示提交失败,在callback函数里可以根据该值执行相应的回调操作;
echo '{
"info":"数据已成功提交!",
"status":"y"
}';
这是网上的那个方法,一行代码搞定全站的那个jquery,我现在要用来检查用户名是否存在!!唉
搞了一个周末了!!!求高人