Javascript res.redirect在nodejs中没有响应
想象一下,用户点击某个东西,出现一个模态对话框,他完成了输入,模态关闭。在我将数据发送回数据库之后,接下来应该做什么?我做了Javascript res.redirect在nodejs中没有响应,javascript,node.js,mongoose,Javascript,Node.js,Mongoose,想象一下,用户点击某个东西,出现一个模态对话框,他完成了输入,模态关闭。在我将数据发送回数据库之后,接下来应该做什么?我做了res.redirect('store')但它什么也不做,我知道问题出在哪里,因为我已经在localhost:2000/store上了 我期待刷新,因为用户刚刚添加/更新了数据。在你的情况下,你会怎么做?我正在将node与express 4一起使用。是否使用Ajax将数据从modal发送到服务器?在这种情况下,您从服务器发送的重定向将不起作用,它只会重定向Ajax请求。如果
res.redirect('store')
但它什么也不做,我知道问题出在哪里,因为我已经在localhost:2000/store上了
我期待刷新,因为用户刚刚添加/更新了数据。在你的情况下,你会怎么做?我正在将node与express 4一起使用。是否使用Ajax将数据从modal发送到服务器?在这种情况下,您从服务器发送的重定向将不起作用,它只会重定向Ajax请求。如果要刷新页面,需要在收到请求响应后在客户端上执行此操作
您能提供更多详细信息以便我提供完整答案吗?在我使用Angularjs的前端模式代码中,我只有在使用“window.location”成功从服务器获取数据时才重定向客户端 客户端代码(角度):
$http({method:'POST',url:'/login',数据:user
}).then(函数成功回调(响应){
如果(响应状态===200){
$uibModalInstance.discover('cancel');
window.location.href='/home';你的意思是我应该在ajax完成后进行刷新吗?你说得通。我执行res.send('ok')),然后我在客户端捕捉到,工作得很好。这会有一个“flash”吗?我知道angularjs擅长以极快的速度渲染模板。window.location会启动一个新的页面加载,flash也会。如果不需要,你可以使用某种xhr手动刷新
$http({ method: 'POST', url: '/login', data:user
}).then(function successCallback(response) {
if (response.status===200) {
$uibModalInstance.dismiss('cancel');
window.location.href = '/home'; <<< redirect user here
} else {
console.log('unexpected response:', response)
}
}, function errorCallback(response) {
if (response.status === 401) {
console.log("scope:",$scope)
$scope.loginform.notauthorised = true;
}
console.log('err: ', response);
});