1

我正在尝试这样做:在我的主页加载 (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并且代码不起作用。为什么?谢谢。

4

1 回答 1

4

有时 ujs 问题很棘手。

我将首先在 ajax 调用中添加一个 dataType 以强制控制器尊重它的类型。

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

要寻找的东西是:

  • 检查 javascript 控制台以查看您有什么(如果有)错误
  • 检查您的日志以查看请求是否发出/接收/呈现为 html
于 2013-08-29T14:11:42.503 回答