关于ajax 接收返回值的疑问,异步验证用户名

qq_29162877 2017-09-20 04:44:10
	public void ajaxFindUname() throws Exception{
HttpServletResponse response= ServletActionContext.getResponse();
User ret = userService.findUname(user.getUname());
/*if (ret == null) {
response.getWriter().print("<font color='red'>用户名可以使用</font>");
} else {
response.getWriter().print("<font color='red'>用户名已存在</font>");
}*/
}


var vet = function() {

$('#username').on("blur", function() {

$.ajax({
url : 'http://localhost:8080/User/ajaxFindUname.action',
type : 'POST',
data : {
"user.uname" : $('#username').val(),
},
success : function(data) { //这里的data搞不太懂,后台怎样写,这里才可以接收到。
alert(data);

//$("#username").next().html("<font color='red'>用户名已存在</font>");
}
});

});
}

我现在就是请求后台可以接收到,前端data为空。data 到底是什么呢? 网上查了,说data可以看成action对象,可以调用下面的成员变量。 请各路大神解释下!
...全文
222 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_29162877 2017-09-21
  • 打赏
  • 举报
回复
引用 8 楼 qq_28641247 的回复:
楼主学学springmvc吧, 用个map做返回值, @RequestMapping("/xx") @ResponseBody public Map xx() throws Exception { Map<String, Object> map = new HashMap<String, Object>(); // service校验... map.put("result", "用户名xxx"); return map; } ajax回调 data.result 即可
这个在struts2 可以用吗 框架是ssh,springmvc我会去学的,现在用ssh练手
  • 打赏
  • 举报
回复
楼主学学springmvc吧, 用个map做返回值, @RequestMapping("/xx") @ResponseBody public Map xx() throws Exception { Map<String, Object> map = new HashMap<String, Object>(); // service校验... map.put("result", "用户名xxx"); return map; } ajax回调 data.result 即可
一个治疗术 2017-09-20
  • 打赏
  • 举报
回复
引用 5 楼 qq_29162877 的回复:
[quote=引用 2 楼 aschouas 的回复:] 是用的springmvc 是的话就写可以 在 action上加@ResponseBody 然后return 返回值即可 没有用的话就是这样

        response.setContentType(type + ";charset=UTF-8");
        response.setHeader("Pragma", "No-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setDateHeader("Expires", 0);
        PrintWriter writer = response.getWriter();
        writer.write(content);
        writer.flush();
用的 struts2。 我现在拿到后台的值了,不过显示的时候是一串 ??? 。 这里要怎么处理[/quote] F12 打开浏览器调试页面 在 alert(data); 这一行打断点,看一下返回的是什么数据结构,然后根据结构取值即可
浮云若水 2017-09-20
  • 打赏
  • 举报
回复
好像我账号被盗了
qq_29162877 2017-09-20
  • 打赏
  • 举报
回复
引用 2 楼 aschouas 的回复:
是用的springmvc 是的话就写可以 在 action上加@ResponseBody 然后return 返回值即可 没有用的话就是这样

        response.setContentType(type + ";charset=UTF-8");
        response.setHeader("Pragma", "No-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setDateHeader("Expires", 0);
        PrintWriter writer = response.getWriter();
        writer.write(content);
        writer.flush();
用的 struts2。 我现在拿到后台的值了,不过显示的时候是一串 ??? 。 这里要怎么处理
qq_29162877 2017-09-20
  • 打赏
  • 举报
回复
用的 struts2。 我现在拿到后台的值了,不过显示的时候是一串 ??? 。
一个治疗术 2017-09-20
  • 打赏
  • 举报
回复
是用的springmvc 是的话就写可以 在 action上加@ResponseBody 然后return 返回值即可 没有用的话就是这样

        response.setContentType(type + ";charset=UTF-8");
        response.setHeader("Pragma", "No-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setDateHeader("Expires", 0);
        PrintWriter writer = response.getWriter();
        writer.write(content);
        writer.flush();
qq_29162877 2017-09-20
  • 打赏
  • 举报
回复
李德胜1995 2017-09-20
  • 打赏
  • 举报
回复
引用 2 楼 aschouas 的回复:
是用的springmvc 是的话就写可以 在 action上加@ResponseBody 然后return 返回值即可 没有用的话就是这样

        response.setContentType(type + ";charset=UTF-8");
        response.setHeader("Pragma", "No-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setDateHeader("Expires", 0);
        PrintWriter writer = response.getWriter();
        writer.write(content);
        writer.flush();

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧