非同期通信って何?
結論、ネットにつなぐことなく更新できることです。
具体例としてTwitterのいいね!機能があげられます。
試しにネット環境を遮断していいね!を押してみてください。
いいね!が普通に押せます。
これが非同期通信です。
この実装ができるようになるとページをいちいちリロードせずに
機能を反映することができ、
ユーザーの視点から見るとものすごく便利な機能です。
非同期通信をするために何を使うのか
結論、AjaxとJSONです。1個ずつ説明していきます。
Ajax
非同期通信を英語で言うと"Asynchronous JavaScript + XML"です。
略してAjax!これだけです。
Ajaxと言われたり、そのコードを見かけたら非同期通信のことだと思ってください。
##JSON
結論、サーバからのレスポンスで返す時の形式になるものです。
これだとよくわかりませんので具体例を示しながら説明します。
まず、以下のようなコードがあったとします。
{fruits: "orange", vegetable: "onion"}
これはrubyの時にも学んだキーとバリューの組み合わせです。
特に何にも設定していなければサーバーからキーとバリューのレスポンスを受け取る時
HTML形式で受け取っています。
**キーとバリューって何だっけ?**
キーはカテゴリーでバリューはカテゴリーの中にある具体例のようなものでした。そしてこのキーとバリューをセットで扱うためにハッシュを用いるのでした。非同期通信の実装概要
以下、手順です
①JavaScriptでリクエストを送り、レスポンスをJSON形式に変更する
②JSON形式でレスポンスしてもらうようにコントローラーのアクションにその旨を追記する。
③レスポンスするためのJSON形式のビューを追加する
あと細かい作業もあるのですがこの概要だけ抑えておくと、
実装のタイミングでスムーズに進められると思います。
また具体的な手順は後日、記述しようと思います。