Angular JS重定向到另一个参数为

时间:2016-01-11 06:43:49

标签: jquery angularjs ajax redirect

如何将其重定向到另一个页面,例如welcome.html with parameter。我是这样的东西,我正在使用url并从angularjs中的submitForm()函数重定向到另一个页面,但没有重定向到欢迎页面,甚至没有显示任何参数和post方法(检查元素&gt ;点击网络>重新加载

  

请有人建议我如何重定向到angularjs中的其他网页,因为我认为此处URL:未重定向。

以及在buttom点击的另一页上显示文本框值(参数)的建议代码。

code in plnkr

    <body ng-app="postApp" ng-controller="postController">
        <div class="container">
            <div class="col-sm-8 col-sm-offset-2">
                <div class="page-header">
                    <h1>Post data</h1>
                </div>
                <!-- FORM -->
                <form name="userForm"  ng-submit="submitForm()">
                    <div class="form-group">
                        <label>Uer ID</label>
                        <input type="text" name="id" class="form-control" ng-model="user.id">
                    </div>
                    <div class="form-group">
                        <label>Customer Name</label>
                        <input type="text" name="cust" class="form-control" ng-model="user.cust">
                    </div>
                    <div class="form-group">
                        <label>Customer ID</label>
                        <input type="text" name="c_id" class="form-control" ng-model="user.c_id">
                    </div>
                    <div class="form-group">
                        <label>Enter your mobile no.</label>
                        <input type="text" name="mobile" class="form-control" ng-model="user.mobile">
                    </div>
                    <button type="submit" class="btn btn-primary">Submit</button>
                </form>
            </div>
        </div>
                        <script>
                            var postApp = angular.module('postApp', []);
                            postApp.controller('postController', function ($scope, $http) {
                                $scope.user = {};
                                $scope.submitForm = function () {
                                    $http({
                                        method: 'POST',
                                        url: 'welcome.html',
                                        templateUrl: clone.html',
                                        data: $scope.user,
                                        headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
                                    })
                                  .success(function (data) {
                                      alert("form posted");
                                  });
                                };
                            });
                        </script>

2 个答案:

答案 0 :(得分:0)

要从您的功能重定向到另一个页面并与新页面共享数据,请使用带搜索功能的 $ location 服务,如下所示:

$location.path('/home').search('id=' + $scope.user.id ...);

如果要分享的参数太多,可以使用服务执行此操作:

postApp.service('userData', function() {
    this.user = {};

    this.setUser = function(data) {
        this.user = data;
    };

    this.getUser = function() {
        return this.user;
    }
})

然后在第一页($ scope.submitForm函数)中调用setUser,在第二页调用getUser。

答案 1 :(得分:0)

您将无法使用$http服务(至少不是您尝试实现的服务)或仅使用$location重定向。您必须使用$route服务。

Angular Route Documnentation