【发布时间】:2015-03-27 13:44:34
【问题描述】:
我正在使用 Angular 构建一个 Facebook 选项卡。我正在向同一域上的 PHP 页面发出 $http 请求。请求如下所示:
$http({
method: 'JSONP',
url: '/api?action=saveResult&points=' + state.points + '&callback=JSON_CALLBACK',
cache: false
});
该应用程序使用 HTTPS 提供,但是当我尝试在 Facebook 选项卡中运行该应用程序时,我收到以下混合内容错误:
混合内容:“https://example.com”处的页面已加载完毕 HTTPS,但请求了不安全的脚本 'http://example.com/api/?action=saveResult&points=2&callback=angular.callbacks._0'。 此请求已被阻止;内容必须通过 HTTPS 提供。
我也尝试将带有 HTTPS 的完整 URL 放入 $http 方法中,但我仍然遇到同样的错误。
【问题讨论】:
-
错误信息听起来很清楚:执行上述代码的脚本是从https://example.com 加载的,并从http://example.com 请求数据。浏览器不允许这样做。问题是为什么 $http 使用http://example.com,或者为什么当您从绝对 URL 请求时它不起作用。您可以发布您在执行此操作时遇到的错误:$http: with url: https://example.com/api?action=saveR....?
标签: angularjs facebook angular-http