35159


Ajaxはwebサーバにhtmlと、htmlファイルでhello_ajax.jsというjsファイルを読み込んで、  
そのhello_ajax.jsがイベント発生時に、var xhr = new XMLHttpRequest();～の処理を実行さえすれば  
最低限成り立つと考えてよろしいでしょうか？

つまりphpの部分は特に必須ではなく、プラスアルファの機能としてついているだけでWEBサーバ自体は必須なものの、  
サーバサイトのプログラムファイル自体はまったく必須ではないと考えてよいでしょうか？

また使うWEBサーバもnodejsのローカルサーバでもcloud9でも、ロリポのスタンダードプランのサーバでもどんなものでも、  
WEBサーバでさえあれば問題なく使えるのがajaxと考えてよいでしょうか？

最後に下記のように聞いたのですが、XMLHttpRequestオブジェクトのなかにあるメソッドを使うとサーバとの通信ができるという事でしょうか？  
つまりXMLHttpRequestオブジェクトとはサーバとの通信用のメソッドが収められている箱、オブジェクトという事でよいでしょうか？

> Ajax（Asynchronous JavaScript +
> XML）とは、ひとことで言うならば、「JavaScript（XMLHttpRequestオブジェクト）を利用してサーバー側と非同期通信を行い、受け取った結果をDOM経由でページに反映するしくみ」です。


CC BY-SA 3.0
2017-05-31T05:38:38.983
35152
2017-06-01T00:23:18.157
2017-06-01T00:23:18.157
3054
question
javascript ajax
サーバー側が PHP などの動的なコンテンツでなくとも「Ajax」は成り立ちますか？


> つまりphpの部分は特に必須ではなく、プラスアルファの機能としてついているだけでWEBサーバ>自体は必須なものの、  
>  サーバサイトのプログラムファイル自体はまったく必須ではないと考えてよいでしょうか？

Ajax は JavaScript の XMLHttpRequest
を使って非同期にリモートサーバと通信を行い、得た結果を使って動的に画面を書き換える手法の事を言うので

  * 自前のサーバでなくてもよい
  * 別に php でなくても他の言語でもよい
  * なんならサーバ側の静的テキストファイルでもよい

となります。実際にサーバ側で定期的に更新される静的な JSON ファイルを読み込んで画面を構成する事はありますし、それも Ajax です。

> 最後に下記のように聞いたのですが、XMLHttpRequestオブジェクトのなかにあるメソッドを使うとサーバとの通信ができるという事でしょうか？

はい。ただし通信できる相手は基本、そのコンテンツ(HTML)を貰ってきたサーバに限ります。これについては他のサーバと通信できる方法(JSONPだとか、CORSだとか)がありますが、ひとまず最初の理解としては必要ないかと思います。


CC BY-SA 3.0
2017-05-31T09:17:01.437
35159
2017-05-31T09:17:01.437
440
35152
answer