【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?

IE以外のブラウザーで、XMLファイルを読み込みXMLとして処理したい時
/* XMLHttpRequestの場合*/
str = "sitemap.xml";
objXML = new XMLHttpRequest();
objXML.open("GET",str, false );
objXML.send( "" );
xml = objXML.responseXML;
として取り込むのと
/* document.implementation.createDocumentの場合*/
str = "sitemap.xml";
objXML = document.implementation.createDocument("", "", null);
objXML.async = false;
objXML.load(str);
として取り込むのとの違いについて教えて下さい。
XMLHttpRequestはHTTP通信を使うとあったのですが、意味がよくわかりません。
XMLHttpRequestでもクロスドメインアクセスは出来ないので、ドメインローカルに
あるxmlファイルしか取り込めないはずです。後者の場合strに"http://xxxx/xxxx?"
みたいなURIで要求を出せないと意味なのでしょうか?
それから、これらはIE以外(Netscape,Firefox,Opera,Safari,)では
みんな同じ仕様なのでしょうか?

A 回答 (1件)

後者のloadは ローカル環境でも動作するけど


前者のhttprequestはhttp…つまりwebサーバが吐き出す物としてじゃないと読み込めない。(webサーバが動いてないと使えない)

loadはxmlだというのが確実である場合以外使えない。
httprequestの方はtextでも受け取れる。

読むのがどっちもxmlで間違いないという状況なら
どっちでも良いって話になるね。
別ドメインからはperlなりphpなりで持ってこさせた結果をxmlで返してやれば一緒。(外部rss収集の類はそうなってる筈)
    • good
    • 0
この回答へのお礼

ありがとうございました。
「loadは ローカル環境でも動作するけど
前者のhttprequestはhttp…つまりwebサーバが吐き出す物としてじゃないと読み込めない。」
確かに、言われてみると気がつきました。確かにそうですね。
自分のサイトのファイ恵右でも、webサーバ経由でアクセスしている
ことを忘れていました。

お礼日時:2008/12/15 09:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!