angularJS落在特定路径上并留在那里

时间:2018-02-08 15:06:16

标签: javascript angularjs redirect

我有一个angularJS前端,我想将我的用户重定向到外部支付处理器,然后返回(例如www.mysite.com/purchase/152398978981/success)。 有效的方法是:我将重定向网址传递给付款处理程序,然后重定向到该网址。

什么行不通:当重定向回来时,angularJS应用程序需要加载并在完成后进入默认/欢迎页面。

如果之后,我将重定向网址粘贴到地址栏中,一切正常,因为该应用已经加载。

即使应用需要加载,有没有办法保留重定向网址?

编辑:

这是我如何进行路由的缩写版本。有问题的路线是之前的最后一条路线,否则'即何时(' / sofort /:websafeProductKey')

var app = angular.module('myApp',
    ['productControllers', 'ngRoute', 'ui.bootstrap', 'firebase', 'ngTouch', 'ngResource']).config(['$routeProvider',
    function ($routeProvider) {
        $routeProvider.when('/product/create', {
            templateUrl: '/partials/create_product.html',
            controller: 'CreateProductCtrl'
        }).when('/product/detail/:websafeProductKey', {
            templateUrl: '/partials/product_detail.html',
            controller: 'ProductDetailCtrl'
        }).when('/checkout', {
            templateUrl: '/partials/paymill.html'
        }).when('/landing/', {
            templateUrl: '/partials/landing.html'
        }).when('/auth', {
            templateUrl: '/partials/auth.html'
        }).when('/sofort/:websafeProductKey', {
            templateUrl: '/partials/sofort_success.html',
            controller: 'SofortCtrl'
        }).otherwise({
            redirectTo: '/landing'
        });
    }]);

这是我加载Google API的方式,我写道:

<script>
        /**
         * Initializes the Google API JavaScript client. Bootstrap the angular module after loading the Google libraries
         * so that Google JavaScript library ready in the angular modules.
         */
        function callGoogleApis() {
            // Loads the goal APIs asynchronously
            var apisToLoad;
            var googleCallback = function () {
                if (--apisToLoad == 0) {
                    //Manual bootstraping of the application
                    var $injector = angular.bootstrap(document, ["myApp"]);
                    console.log("myApp bootstrap complete " + gapi);
                }
            };

            apisToLoad = 1; // must match number of apis to load - currently a bit redundant
            gapi.client.load('myApi', 'v1', googleCallback, '//' + window.location.host + '/_ah/api');
        }
    </script>
    <script src="//apis.google.com/js/client:plusone.js?onload=callGoogleApis"></script>

0 个答案:

没有答案