UI-Router - templateUrl:“内容必须通过HTTPS提供”

时间:2015-08-19 07:16:59

标签: javascript angularjs angular-ui-router

我使用HTTPS。我需要发送templateUrl请求,不是针对静态文件,而是发送给路由器:

 /:lang/content/library/book/:bookId

这是我的state

.state('book', {
    url: '/:lang/library/book/:bookId',
    controller: 'BookCtrl',
    templateUrl: function(stateParams) {
      return stateParams.lang + '/content/library/book/' + stateParams.bookId;
      // or: 'https://dev.mysite.com/' +  stateParams.lang + '/content/library/book/' + stateParams.bookId;
    }
  });

当我运行我的应用时,我收到以下错误:

Mixed Content: The page at 'https://dev.mysite.com/en/library/book/4985459864' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://dev.mysite.com/en/content/library/book/4985459864'. This request has been blocked; the content must be served over HTTPS.

如何使用HTTPStemplateUrl发送ui-router个请求?

1 个答案:

答案 0 :(得分:0)

  

如何使用ui-router发送templateUrl的HTTPS请求?

这是ui-router的正常行为。 ui-router使用$location来解析协议

您是否尝试过清理缓存?如果您或用户首先使用非安全的基于HTTP的URL,然后切换到HTTPS,则必须下载已通过HTTP访问的资源的新副本。