nodejs post响应如何触发ajax的success事件

前端是这样的
//发送ajax请求 使用post方式发送json字符串给后台reg
$.ajax({
type: "post",
url: "/reg*",
dataType: "json",
data:{ username: username, password: password },
success: function(data){
//接受返回的数据,前端判断采取的动作
if(data){
console.log(data);
if(data.message=="exist"){
$('#username-warning').html('用户名已存在').css('visibility','visible');
}else{
alert('登陆成功');
window.location.href="index";
}
} else{

        }
    },
   error:function(err){
       console.log(err);
       console.log("报错");
   }
});

});

后台是这样写的
app.post('/reg*',function(req,res,next){
console.log("post响应");
console.log(req.body);
var newUser=new User({
name:req.body.username,
password:req.body.password,
});
console.log(newUser);
//检查用户名是否存在
newUser.get(newUser,function(err,user){
console.log(user);
if(user.length>0){
err="username already exists.";
console.log("我是来触发时间呢的")
res.json({message:"exist"});
res.end('success');
return;
}
if(err){
//req.flash('error',err);
console.log(err);
return res.redirect('/reg');
}

    newUser.save(function(err){
        if(err){
            //req.flash('error',err);
            return res.redirect('/reg');
        }
        //req.seesion.user=new User??
        //req.flash("success","注册成功");
        res.redirect('/');
    });
});

})

我想用户名重复的时候在前段能触发suceess事件然后给页面做点提示信息,但是怎么样前端的success事件就是不触发,好气啊!!!不知道有没哪位前辈能指导下

1个回答

看起来没错啊,你确认一下:1.请求是否进了判断用户名重复了;2.如果重复了,是否返回消息给前台了;3.在请求的时候,可以看下F12的Network对应的请求是不是有相应的返回;4.F12里面的Console是不是报错了。

Cplusplusrookie
Cplusplusrookie 谢谢了,不知道为啥子早上就搞好了.....mdzz 我发现我路由设置的可能有问题,我提示了用户名存在滞后它会马上刷新页面...........
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问