人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Ajax+httpsで、IE7のみアクセス拒否エラーが出てしまいます。
以下のajaxスクリプトを「https://ドメイン名/bar.html」のページからIE7で実行させると「アクセスが拒否されました」エラーが出てしまいます。
「http://ドメイン名/bar.html」のページでは正常に実行されます。
またIE6では、「https://ドメイン名/bar.html」でも「http://ドメイン名/bar.html」でも両方とも問題なく実行されます。
なのでクロスドメイン制限にも引っかかっていないと思うんですが。。。

「https://ドメイン名/bar.html」のページからIE7で実行させてもアクセス拒否エラーが出ずに正常に実行されるには
どうしたらいいでしょうか。


var url = (("https:" == document.location.protocol) ? "https://ドメイン名/foo.php" : "http://ドメイン名/foo.php");

var XMLhttpObject = null;
try{
XMLhttpObject = new XMLHttpRequest();
}catch(e){
try{
XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
return null;
}
}
}
if (XMLhttpObject){
XMLhttpObject.onreadystatechange = "コールバック関数名";
XMLhttpObject.open( "POST", url, true ); // <==== ここで「アクセスが拒否されました」エラーが出てしまう
}


●質問者: orihomot
●カテゴリ:インターネット ウェブ制作
✍キーワード:Ajax BAR Catch HTML http://
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● pahoo
●100ポイント

IE7 は XMLHttpRequest をサポートしているので、ご質問のソースにある

XMLhttpObject = new XMLHttpRequest();

が実行されるはずですが、XMLHttpRequest 自体に不具合があるのでしょうか。


試しに、

XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");

が実行されるように変更してから実行してみていただけますか。

◎質問者からの返答

ありがとうございます。

教えていただいたように変更してみたところ、問題なく実行されました。

本当に助かりました☆

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ