0

私はこの問題に何時間も費やしてきましたが、私の仲間は私を助けることができませんでした。彼は、それがクロスサイトスクリプティングの問題である可能性があると述べました。スクリプトが私の仲間のマシンでうまく実行されるため、おそらく私のシステム設定がこの問題を引き起こします。

以下は単純なケースです。

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
var req = new XMLHttpRequest();
var url = "http://www.javascriptkit.com/dhtmltutors/javascriptkit.json";
req.open("GET", url, false);
try {
    req.send();
} catch (e) {
    alert("ERROR: " + e);
}
</script>
</head>
<body>
</body>
</html>

コードを実行すると、エラーが表示されます。

ERROR: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE)"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: chrome://firebug/content/console/commandLineExposed.js :: <TOP_LEVEL> :: line 156"  data: no]

このコードをローカルホスト、firebugコンソール、jsFiddleで実行しましたが、すべてが機能していません。

テストスクリプトが機能しているので、ローカルサーバーは正常に実行されていると確信していますalert("works")

誰でもここで私を助けることができます。これはシステム設定の問題ですか?ありがとう!

4

4 に答える 4

0

XMLHttpRequest別のドメインに?彼らが彼らの応答にヘッダーを設定しない限りAccess-Control-Allow-Origin、あなたはそれを得ることができません。Opera(少なくともバージョン11.64)では、関係なく、それを取得することはできません。

同僚のマシンが安全に構成されていないと思います。

于 2012-06-29T18:25:24.333 に答える
0

XMLHttpRequestは、セキュリティ上の理由から、元のWebページを提供したのと同じサーバーに対してリクエストが行われた場合にのみリクエストが成功するという点で、ブラウザーの同一生成元ポリシーの対象となります。

于 2012-06-29T18:25:33.367 に答える
0

このようなクロスドメインコールはできないと思います。

于 2012-06-29T18:21:31.300 に答える
0

プロキシを使用して外部コンテンツを取得できます。

に示されているように:http://icant.co.uk/articles/crossdomain-ajax-with-jquery/using-proxy.html。ここでは、PHPページから外部リクエストを作成し、それをjavascript関数呼び出しで使用します。

デモページのホームへのリンクは次のとおりです:http://icant.co.uk/articles/crossdomain-ajax-with-jquery/index.html

于 2012-06-29T18:28:57.763 に答える