Ajaxの非同期通信の考察
同期通信では一度のデータ通信で全てのデータが更新されていた。
非同期通信では一部のデータのみでデータ処理を行なっている。
何が違うのか。。。?
◆Railsの同期通信
URIもしくはPermitを元に、MVCでactionによる処理を行い、データ通信をしている。全体の更新を必要とする。◆非同期通信
DOMでHTML(←階層構造)から作ったDOMツリー(←も階層構造)の先っちょにあるURLパラメーターを元に、XMLHttpRequestにより設定したリクエストとレスポンスの方法により、必要な一部分だけでデータ通信している。全体を更新しなくても一部の処理を一部だけで行えるようになる!
◆ URIパラメーター達
・queryパラメーター
http://sample.jp/?name=kii の?以降の情報。 HTMLの要素のことを表してる?・pathパラメーター
http://tweets.jp/tweets/1 のようなパラメーターで、「リソースを識別する場合」に使用する。 データベースでidとかをつけると使えるのかなってゆう感じまだはっきり理解してないので曖昧表現使ってます。(違ったら指摘お願いします。)
↑のやつをElementsかqueryのselectorで指定して、その部分のHTML要素のデータを単独でデータ通信していく。
◆XMLHttpRequest(以降XML)
これを使ってMVCで行なっていたようなデータ通信を作っていく。 ユーザーが見ている非同期通信の行えるwebサイトにはすでこれが組み込まれている?・open
非同期通信のリクエストを何のHTTPメソッドでどんなパスでどの方式で行うのかを決める。XML.open(“HTTPメソッド, `パス`, true);
trueだと非同期通信。
・responseType
レスポンスをどんなデータの形でしてもらうか決める。XML.responseType = "json";
これだとjsonの形式で返してくれる。