我有点难以理解为什么我的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类有一个未定义的方法错误,所以现在在控制台中我可以看到响应但是应该呈现的部分不显示在我的页
由于
答案 0 :(得分: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 %>