Ruby on rails 4 Rails应用程序在Heroku上发布时对localhost进行ajax调用

Ruby on rails 4 Rails应用程序在Heroku上发布时对localhost进行ajax调用,ruby-on-rails-4,heroku,Ruby On Rails 4,Heroku,我开发了一个Rails应用程序,在本地主机上运行时效果很好 但是,在将其推送到Heroku时,我遇到了ajax调用问题,这可能类似于: $.ajax({ type: "GET", url: "/getTemplatesForCategory/"+categoryId, dataType: 'json', success: function(data){ this.setState({templates: da

我开发了一个Rails应用程序,在本地主机上运行时效果很好

但是,在将其推送到Heroku时,我遇到了ajax调用问题,这可能类似于:

$.ajax({
        type: "GET",
        url: "/getTemplatesForCategory/"+categoryId,
        dataType: 'json',
        success: function(data){
            this.setState({templates: data, suppliers: []});
        }.bind(this)
    });
这在my routes.rb中是这样路由的:

  get 'getTemplatesForCategory/:categoryId', to: 'templates#getTemplatesForCategory'
当这些在Herou版本上运行时,控制台会显示以下错误:

混合内容:页面位于'https://myappname.herokuapp.com/templates/8'已通过HTTPS加载,但请求了不安全的XMLHttpRequest终结点'http://localhost:3000/getTemplatesForCategory/7'. 此请求已被阻止;内容必须通过HTTPS提供。


我正在使用一个Procfile,它似乎可以工作,但我真的不明白为什么调用会转到我的本地主机?

我发现是一个完全不同的问题导致了这种情况。Heroku没有接受对我的javascript代码所做的更改,因此实际上是旧代码向本地主机地址发出请求。

我发现造成这种情况的原因完全不同。Heroku没有接收到对我的javascript代码所做的更改,因此实际上是旧代码向本地主机地址发出请求。

尝试通过http
http
访问Heroku应用程序,很可能会成功。有关混合内容错误的详细信息-如果您想通过
https
production中设置
force_ssl
,rb
可能会为您解决问题。请尝试通过
http
访问您的heroku应用程序,很可能会奏效。更多关于混合内容错误的信息-如果您想通过
https
设置
force_ssl
production.rb
中使用应用程序,可能会为您解决问题。