我正在查询" http" API与我的应用程序,所以每次我访问heroku上的应用程序(默认情况下启用https),CORS抱怨跨源域请求。
要求API的所有者制作它" https"不是一个选项,所以我想知道是否有可能强制我的应用程序始终使用http?这是一个node.js构建的应用程序。 (更具体地说,它是一个由yeoman生成的角度js应用程序)。在Rails中,我在Stack OverFlow上看过几篇文章说这可以通过类似config.force_ssl = false
的东西轻松完成,所以我想知道类似的东西是否适用于node.js应用程序(代码中的某些东西)或者特别是在Heroku上。
答案 0 :(得分:0)
作为修复,我编写了一个AngularJS Factory,将所有https
个请求路由到http
:
.factory('DisableSSL', function($location, $window){
return {
activate: function() {
if ($location.protocol() !== 'http') {
$window.location.href = $location.absUrl().replace('https', 'http');
}
}
};
})
此工厂包含在我的所有其他控制器中,并调用activate
函数。
请注意,如果您使用的是HTTPSEverywhere等浏览器扩展程序,则无效。