2015年12月3日木曜日

XMLHttpRequestとは?

こんばんわ、開発者のⅠです。

さて、今回は前々回の投稿についての補足として、APIのひとつであるXMLHttpRequestについて説明したいと思います。

以下のソースは、前々回の投稿での使用例です。
マーカーの情報が記録されたCSVファイルを読み込むための関数 getCSVFile に組み込んでいます。
 
 function getCSVFile() {
   var xhr = new XMLHttpRequest();
   xhr.onload = function () {
   createArray(xhr.responseText);
   };

   xhr.open("get", "markerlist.csv", true);
   xhr.send();
 }
 getCSVFile();

このAPIは、ブラウザ上でサーバーとHTTP通信を行うために利用します。


また、各メソッドの意味については以下の通りです。

【onload】 : レスポンスを受信完了した段階で行う処理を記述します

 【open】: 実際に送信するリクエストを生成します。リクエストの型、ファイルの存在するURL、
       非同期通信を行うか否かを指定します。

 【send】: 生成したリクエストをサーバーへ送信します。


つまり、上に記述した関数 getCSVFileを言い換えてみると、

 「markerlist.csvを対象に非同期通信を行うようGET型のリクエストを生成・送信し、
   この通信が完了した時点で、取得したファイル内のデータを引数として、
  関数createArray(xhr.responseText)を実行する」

という感じでしょうか。

思ったよりも、シンプルに外部ファイルを取得できるのですね……。

それでは、今日はこの辺で失礼します。









1 件のコメント:

  1. この実装ですと、Internet Explorerで見た時に動かないかもですね。
    onreadystatechangeで調べてみると良いかもしれません。

    返信削除