我开发了一个Rails应用程序,在localhost上运行时工作正常。
然而,当把它推到Heroku时,我遇到了我的ajax调用问题,这看起来像这样:
$.ajax({
type: "GET",
url: "/getTemplatesForCategory/"+categoryId,
dataType: 'json',
success: function(data){
this.setState({templates: data, suppliers: []});
}.bind(this)
});
这在我的routes.rb中这样路由:
get 'getTemplatesForCategory/:categoryId', to: 'templates#getTemplatesForCategory'
当这些在Herou版本上运行时,控制台会给我这个错误:
Mixed Content: The page at 'https://myappname.herokuapp.com/templates/8' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://localhost:3000/getTemplatesForCategory/7'. This request has been blocked; the content must be served over HTTPS.
我正在使用一个似乎有效的Procfile,但我无法弄清楚为什么这些调用会转到我的localhost?
答案 0 :(得分:0)
我发现这是一个完全不同的问题。 Heroku没有接受我的javascript代码的更改,所以它实际上是旧代码向localhost地址发出请求。