下面匙一个检测邮箱是否被占用的例子
前台js
$.ajax({
type: "post",
url: "checkEmail.action",
data: {
email: email
},
dataType: "text",
success: function (da) {
console.log(da);
if (da == '1') {
$("#emailinfo").empty();
$("#emailinfo").text("电子邮件地址可用");
}
if (da == '0'){
$("#emailinfo").text("抱歉,邮件地址已经被使用");
}
},
error: function () {
console.log("请求失败")
}
})
注意:dataType的类型,写错会得不到返回的值
action
/**
* 查找邮箱是否被使用
*
* @return
*/
public void checkEmail() {
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
boolean b = userService.checkEmail(email);
System.out.println(checkEmail);
if (b == true) {
checkEmail = 1;
try {
response.getWriter().write(checkEmail+"");//可以注册
} catch (IOException e) {
e.printStackTrace();
}
}else {
checkEmail = 0;
try {
response.getWriter().write(checkEmail+"");//不能注册
} catch (IOException e) {
e.printStackTrace();
}
}
}
**注意:
**
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
response.getWriter().write(checkEmail+"");
struts.xml
<action name="checkEmail" class="com.mlj.dangdang.action.UserAction" method="checkEmail">
</action>
错误:ajax回调函数输出整个页面
解决:原因是struts.xml里面返回了jsp页面。action设置为无返回值就ok了