javascript - Rails 应用程序中的 AJAX 请求错误 : xhr. send( ( options.hasContent && options.data ) || null );

标签 javascript jquery ruby-on-rails ajax turbolinks

我正在尝试运行一个 AJAX 请求,该请求获取分页链接索引并根据请求返回下一组分页链接,但是当滚动到页面底部时发出请求时,我收到此错误。

xhr.send( ( options.hasContent && options.data ) || null ); 

根据下面的查询参数,该请求似乎试图获取链接的第二页,但返回 500 错误。

http://localhost:3000/links?page=2&_=1451357800871

Rails 日志错误

ActionView::Template::Error (Missing partial links/_link with {:locale=>[:en], :formats=>[:js, "application/ecmascript", "application/x-ecmascript", :html, :text, :css, :ics, :csv, :vcf, :png, :jpeg, :gif, :bmp, :tiff, :mpeg, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json, :pdf, :zip], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}. Searched in:
  * "/Users/jackburum/personal_projects/quotes_app/app/views"
  * "/Users/jackburum/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/devise-3.5.2/app/views"
):
    1: $('#links').append('<%= j render(@links) %>');
    2: <% if @posts.next_page %>
    3:   $('.pagination').replaceWith('<%= j will_paginate(@links) %>');
    4: <% else %>
  app/views/links/index.js.erb:1:in `_app_views_links_index_js_erb___2714542505890050790_70114472173520'

即使在我创建了 _links 部分之后,这种情况仍然会发生。

这是我的 links.coffee.js 文件中的脚本代码。当我使用警报消息进行测试时,代码测试得很好,但是当我用 get 脚本替换警报消息时,我收到了 AJAX 错误。

ready = ->
    jQuery ->
        $(window).scroll ->
            if $(window).scrollTop() > $(document).height() - $(window).height() - 50
                    $.getScript($('.pagination next_page').attr('href'))

$(document).ready(ready)
$(document).on('page:load', ready)

有人可以帮忙吗?

最佳答案

1: $('#links').append('<%= j render(@links) %>');

Missing partial links/_link

当您渲染 ActiveRecord 模型数组时,Rails 将根据这些模型的类推导出部分名称,并尝试为每个模型对象加载单独的部分名称。因此,在您的情况下,部分将是 links/_link,这正是 Rails 尝试根据错误消息加载的内容。

This still occurs even after I created my _links partial

这里有一个拼写错误,应该是单数形式的_link。这是用于呈现一个不同链接的部分。

关于javascript - Rails 应用程序中的 AJAX 请求错误 : xhr. send( ( options.hasContent && options.data ) || null );,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34503607/

相关文章:

javascript - rails 5 : hide navigation drop-down on click

ruby-on-rails - 类 `arel_attributes_values' 的未定义方法 `ActiveRecord::Base'

ruby-on-rails - 自定义主题的 Rails Assets 管道

javascript - jQuery 中的鼠标悬停事件

jquery - $ 未定义

Javascript 坚持认为它没有定义,但它完全是

jquery - 如何使用 jQuery 返回每个选中的复选框的类?

javascript - 使用 Javascript 的 Rails 多步骤表单——浏览器后退按钮行为

javascript - 在 JavaScript 中将一系列 DOMNodeInserted 事件作为单个事件处理

javascript - Potree/two.js 取消测量