ajax里success的内容不执行,前面的执行,网上的方法试了不行

图片说明
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。
l_f123
l_f123 回复浪漫大神: 已经上传
6 个月之前 回复
weixin_43967064
浪漫大神 后台接口截图看看
6 个月之前 回复

3个回答

将接口前面加上@ResponseBody,前端返回类型改json试试

F12 看看请求是不是报错了,浏览器控制台有没有 js 错误。
其次,返回类型这里设置为 text 的话,那么 success 时用就不能直接作为 JSON 对象,而是作为字符串使用。

l_f123
l_f123 回复林中夕: 谢谢,这回解决了
6 个月之前 回复
qq_44651140
林中夕 你的后台返回的对象并非json对象需要加注解@ResponseBody
6 个月之前 回复
l_f123
l_f123 试了,没报错
6 个月之前 回复
$.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)
        }
});
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问