NodeJS + jQuery:POST后重定向:客户端或服务器 - 哪个更好?

f1n*_*1nn 0 jquery post redirect node.js

我试图通过jQuery发布后重定向到指定的页面.这是我的POST代码:

$.post("/addcompany", {
name: $('#company_name').val(),
phone: $('#company_phone').val(),
email: $('#company_email').val(),
suppliers: JSON.stringify(suppliers),
}, function(){
    alert('after post'); 
    window.location.href = '/companies';
    }
);
Run Code Online (Sandbox Code Playgroud)

这是我在NodeJS上的后端代码:

app.post('/addcompany',function(req,res){
db.collection("companies",function(err,collection){
    collection.insert( {
        "name":req.body.name,
        "email":req.body.email,
        "phone":req.body.phone,
        "suppliers" : JSON.parse(req.body.suppliers)
    });
});
res.redirect('/companies');
});
Run Code Online (Sandbox Code Playgroud)

问题是如果我不是在jQuery脚本和NodeJS后端代码中重定向到'/ companies',我的重定向不起作用.我应该在哪里放置重定向代码?这是正常的,我必须把它放两次 - 无论是在服务器上还是在客户端上?谢谢!

ale*_*lex 5

您应该只在前端重定向这种情况.为了实现这一点,我认为你应该res.send()在后端(空200响应,让客户端知道服务器端的一切正常).

如果你想在服务器端重定向而不是你不应该使用Ajax,那么只需要普通的旧帖子请求.