从 heroku 获取有关 HTTPS 的错误

Getting error from heroku in regards to HTTPS

我有一个用 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 up 调用数据的方式有问题吗?

这就是我正在做的事情:

$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 文件夹的原因是因为该应用程序首先被 G运行t 缩小。

尝试将您的 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
  });