如何使用Ajax频繁重新加载?

在后台,我希望它重新加载并显示有多少未读消息。
我希望没有刷新页面。 我的意思是使用ajax。

如果我在菜单中有这个,我怎么能每隔30秒刷新一次这个部分?

  • <%= link_to sanitize(' ') + "received messages" + sanitize(' '+current_user.mailbox.inbox(:read => false).count(:id, :distinct => true).to_s+''), messages_received_path %>
  • messages_controller.rb

      def received if params[:search] @messages = current_user.mailbox.inbox.search_messages(@search).page(params[:page]).per(10) else @messages = current_user.mailbox.inbox.page(params[:page]).per(10) end add_crumb 'Messages Received', messages_received_path @box = 'inbox' render :index end 

    像这样的东西应该工作:

    调节器

     def messages_received @messages = Messages.messages_received respond_to |format| format.json { render json: @messages } end end 

    JS

      setInterval(function(){ $.ajax({ type: 'GET', url: '/messages_received', data: {}, success: function(JSONRESPONSE){ alert(JSONRESPONSE) // @messages variable }; }) },30000) // 30 segs 

    您应该有一个操作,它返回一些类似于未读消息的内容并使用JS函数setInterval()轮询它