スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[Web] Ajax で ブラウザが IE の場合 XMLHttpRequest がうまく取れない件

たまに忘れてやらかすのでうまくいったスクリプトをメモ。
ようは IE は new XMLHttpRequest(); で取れないので振り分けた上で適切なオブジェクトを使ってやらないといけないとのこと。

これで xmlhttp として取得できるので、あとはブラウザの差で問題はないはず。
(もちろんオブジェクト自体が違うので、サポートしてないメソッドやらプロパティは意識する必要はあるけれど)

もともと ActiveX オブジェクトとして実装されたために云々というややこしい話はあるようだけど、細かいことは置いてこれで Firefox、IE6以降、Opera については確認できたのでいいことにする。細けえことはいいんだよ。いや、よくないんだけど。

あと、必要なのかはわからないけれど、出力されて受け取るべき XML についてはちゃんと ヘッダを打って Contents-Type やら Charaset を指定しておかないと文字化けしたりXMLとして認識してくれないかもしれないので、おかしいなと思ったら合わせて確認下さい。

function getXmlHttpObject() {

var xmlhttp;

//Win InternetExplorer 用
if(window.ActiveXObject){
try {
//Msxml2.XMLHTTP
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
//Microsoft.XMLHTTP
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
return false;
}
}
} else if(window.XMLHttpRequest){
//XMLHttpRequest
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = false;
}
return xmlhttp;
}



<参考>
クラスブラウザで利用できるようにする - Ajaxを用いたHTTP通信 - Ajax入門
http://www.ajaxtower.jp/ini/http/index6.html

XMLHttpRequestオブジェクトを取得するには? | Diaspar Journal
http://diaspar.jp/node/50

IE7用のAjaxはIE6で動かない? - IE7対策は万全ですか--アプリで動作トラブルの不安:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20070710/277219/
関連記事
スポンサーサイト

comment

管理者にだけメッセージを送る

検索フォーム
リンク
最新記事
最新コメント
カテゴリ
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。