Angularjs:重定向后维护http正文

时间:2015-04-18 20:59:39

标签: javascript json angularjs redirect

大家好,对不起英语(如果你发现了一些错误),

我有下一个问题:我在页面A中,我调用了一个在正文中返回JSON的Web服务,之后我重定向到另一个页面B. 我的问题:重定向后,保持身体?或者说,我可以获取或访问正文(如果正文包含JSON)吗?

实施例

网络服务:

app.service('LoginService', ['$http', function($http) {
    this.retrieveUser = function(username, password) {
        var url = app.baseURI + username+"/"+password;
        return $http.get(url);
    };

...

JS重定向

self.login = function(username, password){
            LoginService.retrieveUser(username, password)
            .success(function (data) {
                if(data.usuario.rol == "G")
window.location.href="http://localhost:8080/Natureadventure/html/gerente/gestionarActividades.html";
            }).error(function(data){
                $scope.loginForm.password.$setValidity("password", false);
            });
        };

谢谢!

1 个答案:

答案 0 :(得分:0)

Angular完全是客户端的,因此,除了在localStorage,cookies或sessionStorage中设置内容之外,不会,你将无法做到这一点。

解决方法是将Angular应用程序转换为单页面应用程序;你永远不会真正改变网站的页面,但Angular可以通过像ui-routerngRoute这样的库来模拟你的网页(即内容和布局)的变化。

这样做的缺点是,如果您要么使用丑陋的hashbang URL,要么启用html5Mode,如果刷新页面则会中断。解决这个问题的方法是:a)坚持使用hashbang URL或b)让你的服务器将任何未知请求重定向到你的index.html,然后让angular为你做路由。