2011-01-27 5 views
1

私は、bar.domain.comにあるプロキシ経由でAPIにアクセスしようとしています。そして、私はfoo.bar.domain.comにあるスクリプトを使ってそれにアクセスしています。だから私はもちろん、same origin policyに対して走った。Document.domainが期待通りの機能を果たさない

foo.bar.domain.comにロードされた最初のスクリプトの先頭には、document.domain = "bar.domain.com"と設定されています。

インスペクタで、この行の直後に実行を一時停止してdocument.domainをチェックすると、bar.domain.comが返されます。 .ajaxが発生する直前に一時停止するのと同じで、すべてのjavascriptが実行された後にチェックするのと同じです。

残念ながら、私はまだ取得しています:/

私はこの問題を解決するか、デバッグができる方法上の任意のアイデアを:私はライブの例を与えることがしたいOrigin http://foo.bar.domain.com is not allowed by Access-Control-Allow-Origin.

、ああ、私はしないように頼まれましたか?何か助けてくれてありがとう。

+0

あなたはまだ同じプロトコルを使用していますか? Domain.comは実際に.comドメインですか?どのブラウザでこれを試していますか?あなたはポートを切り替えていませんか?いくつかのコードを表示できますか? –

+0

私たちは実際に同じプロトコルとポートにとどまっています。私はコードにrequireJSを使用していますので、影響を受けた部分の非常に単純化されたモデルです:http://jsfiddle.net/WSEue/ –

答えて

1

私は両方サイトは、両方のページが明示的相互運用意欲を示すために持っているので、「bar.domain.com」にdocument.domainを設定する必要があると思います。 "bar.domain.com"ページには既にdocument.domain —の文字列がありますが、明示的に設定する必要はありません。

Hereは何らかの説明があるMDCページです。

+0

現時点でこれを消化してください。あなたの考えは正しいと思われます。私はこれがMDCや他の場所でdocument.domainをより詳しく明示していないことに驚いています。多分私はそれを複数回見逃してしまったかもしれません...短い順序で報告します。 –

+0

同じことを[MSDNページで]言う(http://msdn.microsoft.com/en-us/library/ms533028(v = vs.85).aspx) – Pointy

関連する問題