Rails操作只调用一次,但我在ajax中每秒钟都调用一次

Rails action is calling only once, but i call it every second in my ajax

本文关键字:一次 调用 ajax 每秒钟 操作 Rails      更新时间:2023-09-26

标题不正确,但您可能理解它。我有这个代码。咖啡:

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

在控制器中:

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

全局变量$status有progresbar的数据,我想实时查看它,而不刷新页面。我在rails控制台中永久看到请求。操作get_current_result_number只调用一个,使用第一个请求,而不使用下一个请求。错误在哪里?(代码,非英语)

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

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