2

「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ファイルに入れるバッチファイルを作成できると思います。しかし、私はそのような恨みを避けたいと思います。

4

1 に答える 1