从HTTPS获取从Heroku错误

我有一个应用程序写angular度和部署在nodejs heroku。 当我在家用电脑上以开发模式运行它时,一切都很棒,并且不会出现任何错误。 但是,一旦我把它提交给heroku我在控制台上得到以下错误信息:

Mixed Content: The page at 'https://yasawebsite.herokuapp.com/#/' was loaded over HTTPS, but requested an insecure script 'http://api.tumblr.com/v2/blog/asayorku.tumblr.com/posts?api_key=[MY SECTRET API-KEY]&callback=angular.callbacks._0'. This request has been blocked; the content must be served over HTTPS. 

如何从tumblr调用我的数据有问题吗?

这是我在做什么:

 $http.jsonp('http://api.tumblr.com/v2/blog/asayorku.tumblr.com/posts?api_key=[MY SECRET API Key]&callback=JSON_CALLBACK') .success(function (data) { // my data analysis process }); 

这是我在我的server.js文件中设置的

 var express = require('express') , morgan = require('morgan') , bodyParser = require('body-parser') , methodOverride = require('method-override') , app = express() , port = process.env.PORT || 3000 , router = express.Router(); app.use(express.static(__dirname + '/dist')); app.use(morgan('dev')); app.use(bodyParser()); app.use(methodOverride()); router.get('/', function(req, res, next) { res.render('index.html'); }); app.use('/', router); app.listen(port); console.log('App running on port', port); 

我想强调的是,除了使用$ http进行的数据调用之外,所有工作都应该使用vanilla js或jquery方法吗? 如果是这样,为什么会发生o.0?

另外它调用/ dist文件夹的原因是因为应用程序被Grunt首先缩小。

尝试改变你的API请求(使协议相对):

 $http.jsonp('//api.tumblr.com/v2/blog/asayorku.tumblr.com/posts?api_key=[MY SECRET API Key]&callback=JSON_CALLBACK') .success(function (data) { // my data analysis process });