在rails上的ruby中调用auto ajax是行不通的

时间:2013-08-29 11:23:48

标签: javascript jquery ruby-on-rails ajax

我正在尝试这样做: 在我的主页加载(home.html.erb)之后,调用ajax来更新同一页面上的标记值。 这是我在home.html.erb中的内容

<script>
  $(document).ready(function() {
    $.ajax({
      type: 'GET',
      url: '<%= url_for(action: "home") %>'
    });
  });
</script>

和我的home.js.erb

var id = 5;
$('#jquerylogo').html(id);

和我的控制器

def home
  respond_to do |format|
    format.html # home.html.erb
    format.js
  end
end

但是没有调用ajax并且代码不起作用。为什么? 感谢。

1 个答案:

答案 0 :(得分:4)

有时ujs问题很棘手。

我首先将一个dataType添加到ajax调用中,以强制控制器遵守它的类型。

$(document).ready(function() {
  $.ajax({
    type: 'GET',
    dataType: 'script',
    url: '<%= url_for(action: "home") %>'
  });
});

要寻找的是:

  • 检查javascript控制台以查看您有哪些(如果有)错误
  • 检查您的日志以查看请求是否以html
  • 的形式发送/接收/呈现