非同期通信(Ajax)ができない場合の対処法
はじめに
rails + jQueryでフォロー機能の非同期をする際、
フォローボタンをクリックしても画面が切り替わらず、試行錯誤したため、その対処法の一部を紹介します。
完成図
到達点
以下の1点を達成する
・対処法を学ぶ
流れ
① rails s でログを確認する
② デベロッパーツールを活用する
① rails s でログを確認する
rails sすると、以下のようなログが表示されます。
最後の行が500 Internal Server Error
などの表示であれば、エラーの原因が表示されますので、ログをしっかり確認しましょう。
今回は問題ありませんでした。
② デベロッパーツールを活用する
デベロッパーツールのコンソールで原因がわかる場合があります。
デベロッパーツールのコンソールの開き方
1) Chromeを立ち上げます
2) ブラウザの右上にある三つの点アイコンをクリックします
3) 「その他のツール」>「デベロッパーツール」を選択します
4) コンソールタブをクリックします
コンソールで確認する
何やらUncaught ReferenceError: $ is not defined
というエラー表示があります。
ググってみると、application.html.erbに以下の記述がなくjQueryが使えなかったことが原因のようでした。
<script
src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
エラー対処は、ログやコンソールからエラー文が出ていることがあるので、確認すると、対処の糸口が見つかるかもしれません。
Author And Source
この問題について(非同期通信(Ajax)ができない場合の対処法), 我々は、より多くの情報をここで見つけました https://qiita.com/holdout0521/items/8483a9cc3ec781130ecf著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .