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 に答える