既出でしたらすみません。
IEだとうまく動作するものが、FireFoxだと動作しません。
原因をご存知の方がいらっしゃいましたら、
ご教示願えますでしょうか。
参考書籍などをお伝えいただくだけでも構いません。
私はプログラミングの知識はありますが、
DOMについては初心者です。
よろしくお願いします。
----------HTML/JSソース
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Ajaxサンプル</title>
<script type="text/JavaScript" src="../lib/prototype.js"></script>
<script type="text/javascript">
<!--
function getFile(){
new Ajax.Request('test_xml03.xml',
{method: 'get',
onSuccess: getResponse,
onFailure: getError
});
function getResponse(req){
var varResult = req.responseXml.getElementsByTagName('result');
var varItem = varResult[0].getElementsByTagName('country');
$('result').innerHTML = varItem[0].firstChild.nodeValue;
}
function getError(req){
$('result').innerHTML = "ERROR";
}
}
//-->
</script>
</head>
<body>
<div>
<input type="button" value="データの読み込み" onClick="getFile()"/>
</div>
<div id="result" >ここにデータを読み込みます。</div>
</body>
</html>
----------XMLデータ(test_xml03.xml)
<?xml version="1.0" encoding="UTF-8" ?>
<result>
<country>アメリカ</country>
<kanji>米</kanji>
</result>
----------状況
「データの読み込み」ボタンをクリックすると、
IEでは"result"部分に 「アメリカ」と出ますが、
FireFoxだと何も起こりません。
----------環境
WindowsXP
IE6.0
FireFox2.0
prototype.jsを使用
----------補足
使用しているJavaScriptは、自分で調べた限りでは
IE/FF共に使用できるコードばかりのはずです。
いろいろと試してみましたが、わかりません。
どうかよろしくお願い申し上げます。
No.1ベストアンサー
- 回答日時:
> FireFoxだと何も起こりません。
getError関数が呼び出されているのかいないのか、
または何行目まで実行できているのか、
それを調べるのが先決では?
> function getResponse(req){
> var varResult = req.responseXml.getElementsByTagName('result');
> var varItem = varResult[0].getElementsByTagName('country');
> $('result').innerHTML = varItem[0].firstChild.nodeValue;
> }
responseXmlではなくresponseXML(XMLは大文字)ですが、、、
BBS投稿時の記述ミス?
MIME-Type(Content-Typeヘッダ)はどうなっていますか?
IEはMIME-Typeにかかわらず、拡張子が.xmlとなっていればresponseXMLにその内容を格納しますが、
それ以外のブラウザでは拡張子で判断せずに、MIME-Typeで判断するため、Content-Type: text/htmlなどが出力されている場合、responseTextにしか内容が入りません。
.cgiや.aspなど内容が変化しそうな拡張子の場合は、MIME-Typeを調べているようです。
(マイナーバージョンアップにより仕様が変わっているかも知れません)
firstChildが怪しいと言えば怪しいんですが、
それを説明すると長いので、、、
talooさん
ご丁寧なアドバイスをありがとうございます。
さっそく、試してみました。
>responseXmlではなくresponseXML(XMLは大文字)ですが、、、
>BBS投稿時の記述ミス?
確かに、間違えて記述していました・・
これを修正しました。
>firstChildが怪しいと言えば怪しいんですが、
$('result').innerHTML = varItem[0].firstChild.nodeValue;
を
$('result').innerHTML = varItem[0].childNodes[0].nodeValue;
と変更しました。
これで試してみたところ、FireFoxでも正常に表示されました。
本当に助かりました。
重ねて御礼申し上げます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォーカス移動抑止について
-
乱数を一定時間毎に表示させた...
-
【js】onsubmit属性が変更できない
-
【jquery】EasyUIのSubGridにMy...
-
function の return 値を表示し...
-
「オブジェクトを指定してくだ...
-
iframeの高さ自動調整
-
初心者javascript ウィンドウサ...
-
JavaScriptでのEnterキーとAlt+...
-
<a href="#" …>の意味を教えて...
-
別ファイルのfunctionの読み込み方
-
javascriptとApacheの設定
-
bodyにidをつける理由は何ですか?
-
ウィンドウ名の設定
-
JavaScriptからVBScriptの呼び...
-
window.openで同画面遷移しない
-
openerは使えないのでしょうか?
-
プルダウンと入力を両方行う検...
-
【Google Apps Script】「ライ...
-
町内会での不倫
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SCRIPT5007: 未定義または NULL...
-
JavaScriptでiframeの内容を「...
-
getElementsByNameで要素が取得...
-
フォーカス移動抑止について
-
iframeの中から親ページをスム...
-
function の return 値を表示し...
-
bodyタグのfocus
-
キーを押している間の時間を計...
-
乱数を一定時間毎に表示させた...
-
自動ジャンプでフォームデータ...
-
javascriptでクリックしたリン...
-
XMLHTTPRequestでstatusが0に
-
JavaScript でキーを送る
-
リンク移動先のURLを取得
-
ページ全体を検索して特定文字...
-
htaでVBSのソースを書いたらエ...
-
フレームサイズの変更について
-
「オブジェクトを指定してくだ...
-
マウスオーバーで文字にアンダ...
-
html javascript 作った配列を...
おすすめ情報