Ajax接收Java服务端发送的text数据(用户名检查)
发布时间:2020-12-16 03:18:57 所属栏目:百科 来源:网络整理
导读:这几天写代码的时候遇到了不少问题,比如在ajax发送请求之后服务端发回的数据要和js中定义的字符串进行比较但是明明写的一样却总是比较出错 先放js中的代码 function check_name () { var str = $( '#code' ).val(); var msg = $( '#msg_n' ); if (! /w{3,1
这几天写代码的时候遇到了不少问题,比如在ajax发送请求之后服务端发回的数据要和js中定义的字符串进行比较但是明明写的一样却总是比较出错先放js中的代码function check_name() {
var str = $('#code').val();
var msg = $('#msg_n');
if(!/w{3,12}/.test(str)) {
msg.html('用户名不符合要求');
name = false;
} else {
$.ajax({
url:'checkName.do',type:'post',data:{'name':str},dataType:'text',success:function (data) {
if(data == 'pass') {
changeClass(msg,'text-danger','text-success');
name = true;
submit_regi();
} else {
changeClass(msg,'text-success','text-danger');
name = false;
}
msg.html(data);
},error:function() {
console.log('error');
}
});
}
}
页面中的代码<div class="form-group">
<label for="code">用户名</label>
<input type="text" class="form-control" id="code" placeholder="3-12位数字,下划线,字母的组合" onBlur="check_name();" required name="name">
<p id="msg_n" class="text-danger"></p>
</div>
之后Controller层是这样处理的@RequestMapping("checkName.do")
public void checkName(HttpServletRequest request,HttpServletResponse response) {
response.setCharacterEncoding("utf-8");
PrintWriter out;
try {
out = response.getWriter();
if(basicService.findByName(request.getParameter("name"))) {
out.println("用户名已存在");
} else {
out.println("pass");
}
} catch (IOException e) {
LOG.error("IO异常,请检查网络");
request.getRequestDispatcher("error.jsp");
e.printStackTrace();
}
}
这样前后端的代码就都完成了,dao层的代码和service层的代码已经通过测试,不会出现问题 然而 data的长度是5!!!!!!!
|