2

Firebugの使用に堪能ではありませんが、次の問題を説明するエラーは見つかりませんでした。Railsでjsに黙って問題を解決するには?

var $foos = $('<%= escape_javascript(render(@foos)) %>'); 
$('#container').append($foos); 
$('#pagination_button a').attr('href', '<%= feed_path + '?page=' + @page %>'); 

このAJAX呼び出しがが、静かに失敗するように見える二回行われます

は、私は次のコードを含む feed.js.erbファイルを持っています。 Firebugコンソールで適切な応答が表示されますが、 $foosは変更されていません。以降は #containerが追加されることはありません。

私のHTMLページにはローディングインジケータだけが含まれています。ローディングインジケータは最初の呼び出しで正常に置き換えられます。 2番目の呼び出しは他のjavascript(Infinite Scroll)からトリガーされます。

最初の呼び出しが自動的に生成されたタイムスタンプパラメータで行われていることに気付きました。その後、あなたは私の#pagination_button aに見ることができるように、私はターゲットURLを置き換えています。

これをブラウザでどのようにデバッグできますか?

更新:私は$foos動的変数($ foos1 ... $ foos2)にするためにERBを使用し、これも動作していないことに気づきました。したがって、新しい@foosがコンソールのレスポンスに表示されても、私のjavascriptの最初の行は評価されていません。

+0

firebugスクリプトパネルを使用して、これらの行のいずれかにブレークポイントを配置する方法はありますか? – Jords

+0

このスクリプトはhttp応答の中にあるので、私はそれを行う方法を見つけることができません。これは、htmlページがすでにレンダリングされた後、私のRailsコントローラによって動的に作成されます。 –

+0

あなたは同じ要素IDでコンテナに2を追加しようとしていませんか? – aroth

答えて

3

Railsは私の2番目のリクエストをJSとして処理していません。さらに重要なことは、JSが例外を発生させた場合、それはプレーンテキストas explained hereに変換されることです。 Steveは、Ajaxコードをデバッグする方法を示し、私の質問に効果的に答えています。

関連する問題