A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんばんは
詳しい回答が既にされていますので、使用している一例を・・
googleなどの地図サービスをご覧になったことがあると思いますが、
・表示位置を移動する
・拡大・縮小する
・地図と航空写真を切り替える
などの操作をユーザが行った際に、必要となる(追加の新しい)情報をリクエストして表示していると考えられます。
拡大・縮小の際には、縮尺によって表示している地図全体を入れ替えたりしていますし、地図と写真の切り替えの場合も同様ですね。
付帯的に表示されている、特定スポットの情報なども同様に受信しているものと考えられます。
一方で、操作に応じて新しいURLに遷移するような方式だったとすると、都度、画面全体が書き直しになるので、チラつきの原因にもなりますし、閲覧者にとって必ずしも見やすくはないことが想像されます。
仮に、通信環境が悪い場合でも、部分的なリクエストであれば、その部分の表示に若干の時間がかかるものの、全体構成の表示は保たれますので、比較的スムーズに閲覧ができるものと思います。
No.1
- 回答日時:
ajax、非同期通信と呼ばれる手法を利用することで、ページ遷移をすることなくサーバーサイドへ通信し、制御を行うことができます。
これによって、例えば、下記のようなことがブラウザがフリーズすることなく行えます。
・プルダウンA、プルダウンBがあり、プルダウンAの選択に応じて
プルダウンBの選択肢が変わる。
・処理中のローディングを画面に表示し、データの登録処理などが
完了したらローディングが消えて、「登録しました」のメッセージ
を表示する。
これ自体はフレームワークがなくてもできますが、まぁフレームワークを使うことが大半ですね。
ではどうやってデータを通信するのかですが、当たり前ですが、クライアントからのリクエストとサーバーからのレスポンスがあります。
フレームワークによって構文は違うので、フレームワークの作法に応じてデータの送受信を行います。
リクエスト
通常の画面遷移(<form type="submit">)と同じです。
GETによる通信なら、URLにパラメータが付与される形になります。
POSTによる通信なら、必要なデータをPOSTデータとして設定します。
POSTデータは、様々な制御をした上で、JSONとしたり、
それは設計に応じて行えばいいです。
レスポンス
非同期通信なわけですから、レスポンスは画面を表示するための
HTMLではありません。
今の時代、大抵がJSON形式となります。
クライアントは受け取ったJSONを解析して制御することになります。
サーバーサイドは、レスポンスをJSONとして返却する形になります。
様々なエラーが発生した場合はHTTPステータスコードを状況に
応じたもので返却する必要があります。
200 OKではなく、400 Bad Request、401 Unauthorized、
403 Forbidden、500 Internal Server Errorなど。
なお、Webシステム全体としては、URLとリクエストデータが分かってしまえば、ブラウザやpostmanなどのWebAPI通信を実施できるツール、悪意のあるスクリプトなどからリクエストして処理ができてしまいます。
無条件公開して問題ないものは、リクエストの検証がしっかり行われていれば問題ありません。
しかし、そうでないものもあります。
・ユーザー認証などがされていないと処理が動作して欲しくない
・特定画面からの特定操作が行われないと動作して欲しくない
といったものがそれに当たります。
それらは、処理が許可されるべきものなのかというセキュリティ制御を、トークンやそれに紐づく認証情報などを利用して、サーバーサイドとして実装する必要があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) .netに近いjsフレームワークは何ですか 2 2022/05/12 22:28
- JavaScript javascript で外部サイトにデータ入力させて自動でボタンを押すことは可能ですか? 1 2023/01/30 16:23
- JavaScript API連携のプログラミングについて(Typescript) 2 2023/05/03 11:00
- JavaScript SQLでデータベースから返ったデータのJSON形式生成について 1 2022/04/06 12:25
- JavaScript JavaScript|特定URLだった時、特定の要素を変更するコードの書き方を教えてほしいです 2 2023/08/25 21:43
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- Instagram HTML5の廃止とJavaScript 2 2022/04/13 21:05
- その他(ブログ) 趣味を紹介するブログを開設したいです。おすすめの方法を教えてください。 1 2022/12/14 20:11
- PHP クラス 1 2022/08/08 15:12
- JavaScript 変数のスコープの問題? 3 2022/06/23 09:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ボタンを押したあとに画像を表...
-
スマホ上で、左右スワイプで次...
-
ラジオボタンを複数選択したと...
-
jsonテキストデータの並び替え...
-
Adobe acrobat proでフォームを...
-
画面に表示したらアニメーショ...
-
2025年相性がいい人のサイトの...
-
jQueryでのレスポンシブが綺麗...
-
jsで質問です。 formをsubmitし...
-
二次元配列を使って順位をだす...
-
【JS】selectでchangeした時の...
-
sessionStorageを調べています。
-
jsで質問です。 ボタンが二つ存...
-
ブックマークレットについて
-
タグを教えてください。
-
CookieをWebStoeageに変える
-
Outlookのアカウントがあるとメ...
-
jqueryのselect2で検索欄の文字...
-
<tr>指定した表の行要素をボ...
-
食材の期限を管理するためにGAS...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
canvasについて
-
直近のアクセスページの履歴を...
-
IE9のベータ版がリリースされま...
-
DOMで追加した要素が「前に戻る...
-
PHPで作成したSNSサイト...
-
formのselect要素を一覧から選...
-
PHPでjavascriptの知識が必要に...
-
javascriptを実践的に学べる書...
-
javascriptのみで作成されたス...
-
javascriptの学習方法等について
-
javascriptができるようになりたい
-
「onkeydown」をiPhoneでは?
-
wordpress などのcmsの普及によ...
-
鑑定や占いみたいなものを作り...
-
フレームワークのjavaScriptに...
-
文字認証の問題
-
if(1){...}とはどういうことで...
-
JSPの処理の途中で、JavaScript...
-
フォルダを自動で開く
-
正整数の半角数字かどうか判定する
おすすめ情報


サーバーサイドはJavaやPHPです。