function reg() {
var username=$("#userName").val();
var psd=$("#psd").val();
var repsd=$("#repsd").val();
var param = {};
param.userName=username;
param.psd=psd;
if(username.length==0 && psd.length==0){
alert("用户名与密码不为空");
}
else {
if (repsd != psd) {
alert("两次输入的密码不一致");
}
else {
$.ajax({
url: '/user/register',
type: 'POST',
secureuri: false,
data: param,
dataType: 'text',
success: function (data) {
var falg = data.falg;
if (falg == 'success') {
alert(data.successMessage);
window.location.href = "/user/loginView";
}
}
});
}
}
}
success里的内容不执行,看到网上说把dataType里json改成text 或者去掉但是都不行,工具用的maven和idea,后台返回的map。
将接口前面加上@ResponseBody,前端返回类型改json试试
F12 看看请求是不是报错了,浏览器控制台有没有 js 错误。
其次,返回类型这里设置为 text 的话,那么 success 时用就不能直接作为 JSON 对象,而是作为字符串使用。
$.ajax({
url: '/user/register',
type: 'POST',
secureuri: false,
data: param,
dataType: 'text',
success: function (data) {
console.log(data); //查看返回内容
if(data){
data = eval("(" + data + ")"); //将json转化为对象
}
var falg = data.falg;
if (falg == 'success') {
alert(data.successMessage);
window.location.href = "/user/loginView";
}
},
error : function(jqXHR, textStatus, errorThrown) {//查看返回是否异常
console.log(jqXHR.status)
}
});