
2日程、色々と試したのですが、どうしても自分で解決できそうにないので
お世話になりたいと思い質問させて頂きました。
XMLHttpRequestを使用し、サーバーと非同期通信を行っているのですが
ChromeとFireFoxの場合、戻り値のstatusが0になり、サーバーからのレスポンスデータを
取得する事ができません。IEでは7 ~ 9まで正常に動作する事を確認しております。
(環境)
クライアントOS:Windows7 Professinal
サーバーOS:Windows7 Professinal
Webサーバー:IIS7.5
ブラウザ:Google Chrome 16.0.912.77 m, FireFox 10.0.1
(クライアント側プログラム)
function requestMain(param)
{
// サーバー名はxxxにさせて頂きました。
var url = "http://xxx.xxx.xxx.xxx/app/xhr.cgi?" + param;
var obj = createHttpRequest();
obj.open("GET", url, true);
obj.setRequestHeader("If-Modified-Since", "Thu, 01 Jun 1970 00:00:00 GMT");
ojb.onreadystatechange = function()
{
if (obj.readyState==4)
{
alert(obj.status); // ← ここが0に。IEだと200が返ってきます。
alert(obj.responseText); // ← IEの場合予期したデータがきます。Chrome/FF
// ともに空です。
}
}
httpoj.send("");
}
function createHttpRequest()
{
if(window.ActiveXObject)
{
try
{
return new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
return new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e2)
{
return null;
}
}
}
else if(window.XMLHttpRequest)
{
return new XMLHttpRequest();
}
}
(サーバー側)
static void main(string[] args)
{
string rtnStr = "HTTP/1.0 200 OK\n";
rtnStr += "<head>\n";
rtnStr += "Access-Control-Allow-Origin:*\n" // ← クロスドメイン対策???
rtnStr += "Content-Type: text/html; charset=UTF-8;\n;
rtnStr += "</head>\n\n";
rtnStr += "<body>test is</body>";
Console.WriteLine(rtnStr);
}
試しに、prototype.jsのAjax.Requestを使用しても結果は同じでした。
後、プログラムでなく、ブラウザーのURL覧からCGIをコールするとtest isが表示されます。
※ CGIはC#で書いています。ASP.NETがあるので意味がないのですが
すみません。^^;
過去にも似たような質問をされた方がいらっしゃったのですが
結局クロスドメインの問題じゃない?とか回答がついてないとかで
答えがわかりませんでした。英語サイトにはそれなりに情報があるみたいですが
読めないのでよくわかりません ;_;
(調べろと言われればそれまでなのですが。。。)
組み込み系や、C/S・スタンドアロンでのWindowsアプリはそれなりの経験を
持っているのですが、Web系は今回初めてで、やり始めて丁度10日になります。
ですので、トンチンカンなご質問をしているかもわかりませんが、
どうぞよろしくお願いいたします。
P.S 最近html, css, javascriptがお試し程度にわかり4、5ページ画面遷移した
簡単なクライアント側アプリを作れる程度です。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
HTTP ヘッダと HTML の HEAD 要素が頭の中で混ざってぐちゃぐちゃになっちゃってる感じ。
| HTTP/1.0 200 OK
| <head>
| Access-Control-Allow-Origin:*
| Content-Type: text/html; charset=UTF-8
| </head>
|
| <body>test is</body>
↑ではなくて↓を返すと大丈夫かも。
| HTTP/1.0 200 OK
| Access-Control-Allow-Origin:*
| Content-Type: text/html; charset=UTF-8
|
| <html>
| <head><title>test is</title></head>
| <body><p>test is</p></body>
| </html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- C言語・C++・C# leetcode 155 minstack 1 2022/05/07 16:43
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptでのBMI計算について
-
JavaScriptでのEnterキーとAlt+...
-
【js】onsubmit属性が変更できない
-
JavaScriptでの西暦下2桁での表...
-
ウィンドウのタイトルを変えたい
-
onkeydownの連続?
-
GASを使って、Gmailから自動送...
-
JavaScriptでページ全体にトラ...
-
ajax で読み込みを途中で止めた...
-
html javascript 作った配列を...
-
パソコンによってアクセスが拒...
-
ボタンのID名を取得するには?
-
GoogleChart 階層ごとのブロッ...
-
getElementsByNameで要素が取得...
-
bodyタグのfocus
-
JavaScriptでiframeの内容を「...
-
<a href="#" …>の意味を教えて...
-
テキストボックス内にハイパー...
-
window.open でExcelファイルを...
-
javascriptとApacheの設定
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JavaScriptでiframeの内容を「...
-
SCRIPT5007: 未定義または NULL...
-
getElementsByNameで要素が取得...
-
JavaScript でキーを送る
-
キーを押している間の時間を計...
-
function の return 値を表示し...
-
クリックすると別の文章を表示する
-
フォーカス移動抑止について
-
ボタンのID名を取得するには?
-
bodyタグのfocus
-
JavaScriptでのEnterキーとAlt+...
-
【js】onsubmit属性が変更できない
-
自動ジャンプでフォームデータ...
-
idHOGEで取得したinnerText(数...
-
htaでVBSのソースを書いたらエ...
-
AjaxでDBから取得したデータを...
-
javascriptで質問があります。
-
GoogleMapのmoveイベントのjava...
-
<body>タグを書き換えたい
-
マウスクリックした地点のテキ...
おすすめ情報