Javascript 处理来自角形柱的快速重定向
我使用Expressjs作为API,我使用angular来点击这篇文章。我想回复express发送的重定向。我的文章中的successful返回了我想要重定向到的页面的HTML,但在我的DOM上什么也没有发生。我可以看到重定向在我的网络流量中工作,下面的console.log数据包含重定向页面的DOM 如何刷新DOM,以反映这篇成功的文章,或处理“重定向” 角度代码:Javascript 处理来自角形柱的快速重定向,javascript,redirect,angularjs,express,Javascript,Redirect,Angularjs,Express,我使用Expressjs作为API,我使用angular来点击这篇文章。我想回复express发送的重定向。我的文章中的successful返回了我想要重定向到的页面的HTML,但在我的DOM上什么也没有发生。我可以看到重定向在我的网络流量中工作,下面的console.log数据包含重定向页面的DOM 如何刷新DOM,以反映这篇成功的文章,或处理“重定向” 角度代码: $http({method: 'POST', url: '/login', data:FormData}).
$http({method: 'POST', url: '/login', data:FormData}).
success(function(data, status, headers, config) {
console.log(data)
}).
error(function(data, status, headers, config) {
});
$scope.userName = '';
expressjsapi:
app.post('/login', function(req, res){
var name = req.param('name', null); // second parameter is default
var password = req.param('password', "changeme")
// Lots Authenticationcode
// returns succesfful login
res.redirect('http://localhost:3000/');
}); // end app.post
console.log(数据)(来自Angular POST success)
AngularJS是一个客户端框架,与(大部分)RESTfull API结合使用。您的登录API不应该返回HTML,它应该返回重定向指令。因此,在您的情况下,您只需在
$http
成功回调中调用$location.url('/')
,它将使用Angular路由器“重定向”到'/'(根url)。如何检测Angular中的“重定向指令”?在op使用Express的示例中,Angular是否公开了某种检测来自服务器的res.redirect(“/”)的方法?这取决于开发人员,但在大多数情况下,您希望返回状态代码200(成功)或201(已创建),在这种情况下,您只需放置$location.url(“/”)
调用$http
成功回调。在res.redirect工作的地方,我如何模仿发布数据的传统方式?
returns the HTML of the page I intended to redirect to