在Heroku上发布时,Rails app会对localhost进行ajax调用

时间:2015-08-11 17:51:16

标签: ruby-on-rails-4 heroku

我开发了一个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?

1 个答案:

答案 0 :(得分:0)

我发现这是一个完全不同的问题。 Heroku没有接受我的javascript代码的更改,所以它实际上是旧代码向localhost地址发出请求。