在调用AngularJS之后更改视图

时间:2014-05-06 09:24:13

标签: ajax angularjs angularjs-scope

我正在开发一个单页面应用程序,在AngularJS的帮助下,我是新手 也许我的问题是如此原始,但目前我不知道如何处理它

我需要做的是在用户输入他/她的用户名和密码后打开弹出菜单,然后对服务器进行ajax调用,如果用户通过身份验证,则会显示另一个视图(配置文件)。

这是我的ajax电话

   formApp.controller('mainController',function FormCtrl($scope,$http){                                    

           $scope.processForm = function() {
               $http({
                   method  : 'POST',
                   url     : 'login',
                   data    : $.param($scope.formData), 
                   headers : { 'Content-Type': 'application/x-www-form-urlencoded'} 
              }).success(function(data){
                        console.log(data);                                                     
                    });

                };

这是路由器和视图配置:

            var formApp = angular.module('formApp', ['ngRoute']);

            formApp.config(function($routeProvider) {
                    $routeProvider
        .when('/', {
            templateUrl : 'main',
            controller  : 'mainController'
        })

        .when('/profile', {
            templateUrl : 'profile',
            controller  : 'profileController'
        })

            });

提前致谢,

2 个答案:

答案 0 :(得分:3)

现在在success方法调用路由更改:return $location.path('/profile');

另外,我想,您需要一些服务来保存用户的数据 另外,请考虑使用ngResource(或类似的东西)来使用REST后端(并且不要将此逻辑保留在控制器中)。

答案 1 :(得分:0)

使用模态窗口并将控制器注入其中并在解析中进行包含$http请求的服务调用。

查看模态窗口的链接。

Angular-UI