2015-11-01 74 views
0

我用我的應用程序查詢「http」API,所以每次我在heroku上訪問我的應用程序時(默認爲https),CORS都會抱怨跨域請求。在heroku上強制使用http而不是https的角度js應用程序?

要求API的擁有者使其成爲「https」不是一個選項,所以我想知道是否有可能強制我的應用程序始終使用http?這是一個node.js構建的應用程序。 (更具體地說,它是一個yeoman生成的角度js應用程序)。在Rails中,我看到Stack OverFlow上有幾篇文章說這可以用config.force_ssl = false之類的東西輕鬆完成,所以我想知道類似的東西是否適用於node.js應用程序(無論是代碼中還是Heroku)。

+0

如果您必須從https服務您的應用程序,則可以使用服務器作爲代理來調用其他API – charlietfl

回答

0

作爲一個解決方法,我寫的所有航線請求httpshttp的AngularJS廠:

.factory('DisableSSL', function($location, $window){ 
    return { 
     activate: function() { 
     if ($location.protocol() !== 'http') { 
      $window.location.href = $location.absUrl().replace('https', 'http'); 
     } 
     } 
    }; 
    }) 

這家工廠包括在我所有的其他控制器和activate函數被調用。

請注意,如果您使用的瀏覽器擴展名爲HTTPSEverywhere,則此功能無效。

相關問題