0

我对为什么我的 Ajax 调用失败感到有些困惑,它正在工作并且想不出任何会影响它的更改。当我拨打电话时,我在我的 jquery.js 文件中指向这个的 firebugs 控制台中收到一个错误

// Do send the request
// This may raise an exception which is actually
// handled in jQuery.ajax (so no try/catch here)
xhr.send( ( s.hasContent && s.data ) || null );

首先这是什么意思?

我的设置是这样的

index.js.erb

<% if params[:type] == 'Tynewydd' %>
 $('#newsResults').html('<%= escape_javascript(render partial: 'tynewyddposts') %>');
<% end %>

index.html.erb

 <div id="newsResults">
   <div class="hero-unit">
     <h2> Welcome to your admin area</h2>
       <p> xxxxxxxx.</p>
         <p>xxxxxxxxx</p>
   </div>
  </div>

ajax请求链接

<li><%= link_to 'Tynewydd', posts_path(:type => 'Tynewydd'), :remote => true %></li>

谁能看到这里出了什么问题或提供一些调试建议?

任何帮助表示赞赏

编辑

控制器

def index
@posts = Post.all
@tynewyddpost = Post.tynewydd_posts
@woodsidepost = Post.woodside_posts
@elmspost = Post.elms_posts
@sandpiperpost = Post.sandpiper_posts
@outreachpost = Post.outreach_posts
@companypost = Post.company_posts
@staffpost = Post.staff_posts

respond_to do |format| 
 format.html 
 format.js 

end

好的,所以我不再收到错误,我在调用的部分中有一个 nil 类的未定义方法错误,所以现在在控制台中我可以看到响应,但是应该呈现的部分没有显示在我的页面上

谢谢

4

1 回答 1

1

好的,以防万一其他人遇到类似的问题,将 $ 更改为 jQuery 已经解决了问题,所以这个

<% if params[:type] == 'Tynewydd' %>
 $('#newsResults').html('<%= escape_javascript(render partial: 'tynewyddposts') %>');
<% end %>

改成了这个

<% if params[:type] == 'Tynewydd' %>
  jQuery('#newsResults').html('<%= escape_javascript(render partial: 'tynewyddposts') %>');
<% end %>
于 2013-04-06T21:09:01.847 回答