POST 后使用 AngularJS 重定向到不同的页面
Posted
技术标签:
【中文标题】POST 后使用 AngularJS 重定向到不同的页面【英文标题】:Redirect to a different page after POST using AngularJS 【发布时间】:2013-09-07 03:06:44 【问题描述】:在搜索并没有提出解决方案后,我发布此代码 sn-p 寻求帮助。
$scope.createAddress = function ()
$http(
method: 'POST',
url: '/addressBook/api/Person',
data: $scope.person,
headers:
'Content-Type': 'application/json; charset=utf-8'
).success(function (data)
$location.path('/addressBook');
);
成功发布后,我想重定向到不同的页面。 $location.path 没有做到这一点。我已经尝试过 $scope.apply() ,因为其他一些人已经成功了。我是否遗漏了什么或不了解 $location 的用途?代码正在被命中。
【问题讨论】:
【参考方案1】:记得将依赖注入到控制器中:
|-- inject!
angular.module('myApp.controllers', []). v
controller('AddressController', function ($scope, $location, $http)
$http(
method: 'POST',
url: '/addressBook/api/Person',
data: $scope.person,
headers:
'Content-Type': 'application/json; charset=utf-8'
).success(function (data)
$location.path('/addressBook');
);
);
【讨论】:
$window.location.href 有效,但您的选择 - 没有(但看起来更好),我还能错过什么? 感谢它帮助我重定向的答案。继续提供帮助。【参考方案2】:应该有一些东西在监听路径变化,比如$routeProvider
。是这样吗?
如果您需要将整页重新加载到其他(服务器端)路由,您可以尝试$window.location.href
。
【讨论】:
$window.location.href = '/addressbook';
然后$window.location.href;
工作。感谢您的帮助!【参考方案3】:
在您的控制器中添加 $location。像这样 例如:app.controller('yourController', function($scope, $location, $http, etc...) 那么你的 $http 应该是这样的。
$http(.... ).success(function(response) $location.path('/your path'))
但请确保您必须在 $routeProvider 配置中添加其他位置。 类似:
app.config(['$routeProvider',
function($routeProvider)
$routeProvider.
when('/yournewlocation',
templateUrl: 'yourTemplate/yourpage'
)
])
就是这样。好吧,你知道我在说什么。
【讨论】:
【参考方案4】:.controller('regCtrl', ['$scope','$http', function($scope,$http)
$scope.submit = function()
alert("vf");
$http.post("http://localhost:3000/insert",function(response,$location)
if(response!= null)
$location.path("/login");
else
$state.go('/register');
);
]);
我的代码是这样的,注册页面后我只得到 json 响应,它没有导航到另一个页面
【讨论】:
【参考方案5】:只需使用window.location.replace("/Home/Index");
【讨论】:
请考虑解释如何以及为什么解决这个问题。【参考方案6】:最好的方法是最轻的
window.location.replace("/home/list");
【讨论】:
与其他答案相同的解决方案,例如***.com/a/62846667/2227743 没看到,冷静!以上是关于POST 后使用 AngularJS 重定向到不同的页面的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Django 2 中的 POST 方法后重定向到成功
nodejs + multer + angularjs 无需重定向即可上传
如果刷新(JWT)令牌未经授权(401响应),AngularJS重定向到登录