Rails控制器处理为*/*

ste*_*och 6 ruby-on-rails ajax-on-rails

我有一个js.erb文件,我执行ajax GET,如下所示:

$.get("<%= j @stored_location %>");
Run Code Online (Sandbox Code Playgroud)

一切都很好,但我的服务器日志显示:

Processing by XyzController#index as */*
Run Code Online (Sandbox Code Playgroud)

我知道" / "的意思是"任何格式",一切都运行得很好,所以我想知道是否有任何意义,试图确保Rails明确地处理这个动作:js.我是否需要在$.get通话中添加内容?我应该打扰吗?

Ere*_*bih 11

1:你应该打扰吗?

我认为用这些东西做到尽可能准确和明确是一个好习惯.如果您希望能够根据未来的请求时间对同一URL进行不同的回答,则必须处理此问题.所以,是的,你应该打扰.更糟糕的情况是,你将从中学到新东西:)

2:如何解决这个问题?

jQuery的获取文档列出了dataType可以传递给你的调用参数.因此,例如,如果您希望从服务器返回JSON,则您的请求可能如下所示:

$.get({
  url: "<%= j @stored_location %>",
  data: data,
  success: success,
  dataType: "json"
});
Run Code Online (Sandbox Code Playgroud)

查看文档并确定最适合您的情况.

  • 谢谢,我最后使用`dataType:"script"`,效果很好. (5认同)