「Javascript:The Definitive Guide」p.481に示すように、Firefoxを使用してWebページのソースを読み込もうとしています。
これが私のコードです:
var request = new XMLHttpRequest();
request.open("GET", "http://finance.yahoo.com/q?s=PG", false);
request.send(null);
if (request.status==200) { alert(request.responseText); }
else {alert("Error "+request.status + ": "+request.statusText);}
</script>
FirebugはGETステートメントを表示し、その後に200 OKX338msが続きます。
これは成功したようです(コード200)。
しかし、次のFirebug行には、NS_ERROR_FAILURE、request.send(null);と記載されていますが、これ以上の説明はありません。
どちらのアラートも実行されません。
ヘルプモードを使用しても役に立ちません。また、Chromeでも実行されません。ポップアップ、Cookie、または広告ブロッカーを実行していません。
ページは、LWP get()を使用してperlで正常にロードされます。
これが避けられないクロスドメインタブーであるなら、なぜ「決定的なガイド」はそう言わないのですか?
JSONPがJSONを返すことを理解しています。私はそれを望んでいません-perlLWPget()のように、生のソースを含む文字列だけが必要です。
これはJavascriptでは不可能ですか?
perlを使用してソースを取得し、名前がJSにハードコードされているJSONファイルに入れるバッチファイルを作成できると思います。しかし、私はそのような恨みを避けたいと思います。