javascript - Rails 操作仅调用一次,但我在 ajax 中每秒调用一次

标签 javascript ruby-on-rails ruby ajax coffeescript

标题不正确,但你应该能理解。 我在 .coffee 中有这段代码:

 $.ajax(url: "/get_current_result_number").done (html) ->
    $("#results").append html
    setInterval( $.ajax, 1000 )

在 Controller 中:

def get_current_result_number
  respond_to do |format|
    format.html { render :xml => "<progress value=#{$status[:current]} max=#{$status[:all]} ></progress>" }
  end
end

全局变量$status有进度条的数据,我想实时查看它,而不需要刷新页面。我在 Rails 控制台中永久看到请求。操作 get_current_result_number 仅在第一个请求时调用一个,并且不会在下一个请求时调用。 错误在哪里? (用代码,而不是英文))

最佳答案

$.ajax 不是您定义的 ajax 调用。你可以这样重写:

getCurrentResults = ()->
  $.ajax(url: "/get_current_result_number").done (html) ->
    $("#results").append html

setInterval(getCurrentResults, 1000)

关于javascript - Rails 操作仅调用一次,但我在 ajax 中每秒调用一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37307720/

相关文章:

javascript - 模板与 templateUrl 以及样式与 styleUrls - 性能

javascript - 在 javascript 中创建一个 util 类

ruby-on-rails - 将键值存储用于 URL 缩短器的优点?

javascript - 从选择范围中删除节点后,ExecCommand 在 Chrome 60 中无法正常工作

javascript - 使用 webpack ou npm 在多个包中拆分 javascript Javascript 项目

页面外点击 Rails 后 Javascript 停止

ruby-on-rails - 全局化和行动文本

ruby-on-rails - 如何在 Controller 中设置标题?

Ruby:内核#`运行命令的权限被拒绝

ruby - Mocha 预计最多一次,调用两次,但方法显然只调用一次