Rails将请求解析为html,即使它是json

时间:2016-08-12 17:53:54

标签: javascript jquery ruby-on-rails ajax ruby-on-rails-4

我正在尝试用Rails创建一个api。当我尝试在浏览器中使用json发出ajax请求时,如下所示:

$.ajax({
  type: "GET",
  url: 'http://localhost:3000',
  dataType: "json",
  contentType: "application/json; charset=utf-8"
});

rails服务器看起来像html,从日志中可以看出:

Started GET "/" for ::1 at 2016-08-12 13:52:00 -0400
  ActiveRecord::SchemaMigration Load (0.6ms)  SELECT "schema_migrations".* FROM "schema_migrations"
Processing by LandingsController#index as HTML

它应该说是JSON,因为请求是JSON。

1 个答案:

答案 0 :(得分:0)

这取决于您的路由设置方式,而不仅仅是您在请求中传递的内容。您应该在routes.rb中设置默认格式,如下所示:

root 'your_root_controller#index', format: 'json'

应该在Rails 4& 5。