XMLHttpRequest レスポンスの解釈について

javascript

XMLHttpRequest レスポンスの解釈について

XMLHttpRequestを使ったAJAX通信の動きを試していますが、
レスポンス時の処理について、もう少し詳しく調べてみます。

前回の投稿では、サーバ側からのレスポンスの内容を下記の形で取得していました。

// responseレスポンス内容を出力
result.innerHTML += 'レスポンス内容の表示 -> ' + req.response + '<br />';

XMLHttpRequestオブジェクトの response プロパティを使っていますが、
このプロパティ以外にもレスポンスを受取ることができます。
レスポンスの形式の一例として次のものがあります。

文字列 (text)
json (json形式)
配列 (arraybuffer)
バイナリデータ (blob)
ドキュメント (xmlドキュメント)
null

受信時には、上記のデータをjsonで受取るケースが多く、その場合には受信データをパースしてクライアント側で使用します。

また、受信時にはサーバ側からの Content-Type(レスポンスヘッダ) を基にどんなデータなのかの判断をすることもあります。
ただし、実際に受信したデータと、サーバ側から返される Content-Type(レスポンスヘッダ)のデータが保証されているわけではなく、
サーバ側で Content-Type(レスポンスヘッダ) を意図的に実データと異なるものを指定することもできる為、
アプリケーションの設計、実装時に十分な注意が必要になります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です