Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax轮询:不';t显示警报框[轨道]_Javascript_Ruby On Rails_Ajax_Ruby On Rails 5_Ajax Polling - Fatal编程技术网

Javascript Ajax轮询:不';t显示警报框[轨道]

Javascript Ajax轮询:不';t显示警报框[轨道],javascript,ruby-on-rails,ajax,ruby-on-rails-5,ajax-polling,Javascript,Ruby On Rails,Ajax,Ruby On Rails 5,Ajax Polling,遵循railscast ajax轮询教程(#229)实现ajax轮询。运行服务器后,警报框不会弹出 app/views/quotes/index.js.erb: alert('Hey'); QuotePoller.poll(); app/assets/javascrips/quotes.coffee: @QuotePoller = poll: -> setTimeout @request, 1000 request: -> $.get($('#quotes

遵循railscast ajax轮询教程(#229)实现ajax轮询。运行服务器后,警报框不会弹出

app/views/quotes/index.js.erb:

alert('Hey');
QuotePoller.poll();
app/assets/javascrips/quotes.coffee:

@QuotePoller =
  poll: ->
    setTimeout @request, 1000

  request: ->
    $.get($('#quotes').data('url'))

jQuery ->
 if $('#quotes').length > 0
  QuotePoller.poll()
app/views/quotes/index.html.erb:

<div id="quotes" data-url="<%= quotes_url %>">

 <table>
  <thead>
   <tr>
    <th>Content</th>
    <th colspan="3"></th>
   </tr>
  </thead>


  <tbody>
   <% @quotes.each do |quote| %>
    <tr>
     <td><%= quote.content %></td>
     <td><%= link_to 'Show', quote %></td>
     <td><%= link_to 'Edit', edit_quote_path(quote) %></td>
     <td><%= link_to 'Destroy', quote, method: :delete, data: { confirm: 'Are you sure?' } %></td>
   </tr>
  <% end %>
  </tbody>
 </table>
</div>

内容

您需要在app/assets/javascripts/application.js中添加以下代码:

$(function() {
   $.getScript("/quotes.js");
});

然后,弹出窗口将出现在localhost:3000/quotes上。

通过将此添加到我的索引操作解决了此问题

app/controllers/quotes_controller.rb:

respond_to do |f|
  f.js { render :content_type => 'text/javascript' }
  f.html
end

您能否在浏览器中检查是否包含
index.js.erb
的内容?然后我们就会知道这是一个rails配置问题(“为什么这个内容没有发送到客户端?”)还是一个JavaScript问题(“为什么浏览器没有执行这个JavaScript?”)@alexanderbird这是一个JavaScript问题,解决了它!谢谢伟大的很高兴问题解决了。顺便说一下,在StackOverflow,解决您自己问题的惯例是将解决方案作为答案发布,然后接受它,在大多数情况下,请参阅