【问题标题】:$routeProvider does not route on production server, but works on local machine$routeProvider 不在生产服务器上路由,但在本地机器上工作
【发布时间】:2014-08-10 20:05:27
【问题描述】:

我正在尝试将 Angular.js $routeProvider 用于我的原型应用程序,它在我的本地计算机上运行良好,但在生产环境中失败。控制台上没有打印错误,也没有发送任何 xhr 请求以获取 /partials/signup.php 模板

window.$APP         = angular.module('ccnApp', ["ngRoute", "ccnControllers", "ccnServices"]);
window.$SERVICES    = angular.module('ccnServices', ['ngResource']);
window.$CONTROLLERS = angular.module("ccnControllers", ["angularFileUpload"]);

/**
 * Routes
 */
$APP.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
    $routeProvider.
        when('/profile', {
            controller: 'ProfileController',
            templateUrl: THEME_URL + 'partials/profile.html'
        }).when('/profile/:profileId', {
            controller: 'ExternalProfileController',
            templateUrl: THEME_URL + 'partials/external-profile.html'
        }).when('/vault', {
            controller: 'VaultController',
            templateUrl: THEME_URL + 'partials/vault.html'
        }).when('/network', {
            controller: 'NetworkController',
            templateUrl: THEME_URL + 'partials/network.html'
        }).when('/signup', {
            controller: 'SignupController',
            templateUrl: THEME_URL + 'partials/signup.php'
        }).when('/login', {
            controller: 'LoginController'
        }).when('/payment', {
            templateUrl: THEME_URL + 'partials/payment.php'
        }).when('/:page', {
            templateUrl: function(parameters) {
                document.location.href = "/" + parameters.page
            }
        });

    $locationProvider
        .html5Mode(true)
        .hashPrefix('!');
}]);

这是应用网址 http://ccn.metalabs.io/signup/

这里是js代码的直接链接

http://ccn.metalabs.io/wp-content/themes/criticalcontactsnetwork/js/app.js

可能是因为使用了自签名 SSL?

谢谢

更新 1:事情是这样的,我正在使用 vagrant 来管理我的开发环境,当我尝试通过 vagrant 公共 URL 访问我的应用程序时,$routeProvider 突然起作用了。我认为这与自签名 SSL 证书或某种浏览器政策有关

更新 2:刚刚禁用 SSL,没有帮助。奇怪,它通过 vagrant 共享 URL 工作,但不适用于我的子域。

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    我发现了问题所在。当我将 wordpress 数据库从 dev 转移到生产时 Page Template 选项重置回 Default Template,所以我什至没有 ng-view html.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-05
      • 1970-01-01
      • 1970-01-01
      • 2021-11-18
      • 2021-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多