ようこそ 屋根裏部屋 mkII へ ログイン | 登録 | ヘルプ

Technological

ちょっとしたTIPSや私がはまったこと、調べたことなんかを書いていきます。

XMLHttpRequestのgetResponseHeaderでカスタムhttpヘッダが取得できない?

このおかげで5時間くらい悩みまくりました。環境はWindows Server 2003 R2 SP2 Enterprise Edition(体験版)とクライアントはWindows XP SP2+IE 6.0です。

まず、同一ホスト(www.exsample.com)に仮想ディレクトリ/xfolderと/yfolderを作成します。

次に、xfolderに独自のhttpヘッダを指定します。値そのものが悪いのでは?というのはまぁなしで。

 

xfolderにはこんなhtmlを置きます。

<html><body>
<a href="http://www.exsample.com/yfolder/go.aspx">こっちへGo</a>
</body><html>

 

そして、/yfolder/go.aspx内ではこんなJavaScriptを書きます。

xmlhttp = new XMLHttpRequest(); //IEではこうというのは本質ではないので省略
(略)
xmlhttp.open('GET', href.location, false); //記憶で書いているんですが、確かGET
xmlhttp.send(null);
document.write("HeaderA:" + xmlhttp.getResponseHeader("HeaderA"));

アンカーの「こっちへGo」をクリックすると、同一ホストの場合、なぜかgetResponseHeader()で独自追加したhttpヘッダが取得できません(空文字列が返却される)。そこでgo.aspxを/yfolderではなく、別ホスト(another.exsample.com)に配置すると、このサンプルは期待したとおりHeaderAの値を取得します。

同一のホスト内だったらIISはカスタムhttpヘッダ送らないんでしょうかね?

公開 2007年11月11日 2:35 投稿者 kkamegawa
タグ , , ,

コメントの通知

この投稿にコメントが付いた場合にメールを受信するには、登録してください。ここ

また次のフィードから、お気に入りのRSSリーダーを使って最新の状態を知ることもできます。 コメントのRSSフィード

コメント

コメントはありません

どのような感想ですか?

(必須) 
必須 
(必須) 
Powered by Community Server, by Telligent Systems