0

私は小さな jquery モバイル ベースのアプリケーションを使用しており、IE 9 で次の問題に直面しています。アプリで特定のファイルをダウンロードしていますが、これらのファイルには IP アドレスの絶対パスがあります: http://xxx.xxx.xxx.xxx/folder1 /folder2/file.json

さて、問題は、ウェブサイトのアドレスを介してウェブアプリを呼び出す場合です:www.exampleaddress.com

ファイルをダウンロードするためのajax呼び出しは失敗しますが、IPアドレスを介してWebサイトを呼び出すと:

http://xxx.xxx.xxx.xxx/folder1/webapp.htmlの場合、ajax 呼び出しは問題なく正常に機能します。

この問題は IE 9 でのみ発生します。それ以外の場合、Firefox、Safari、Chrome などの他のブラウザでは問題ありません。この問題を解決するにはどうすればよいですか?

4

1 に答える 1

0

Javascriptがクロスドメインデータをロードできないようにするブラウザの「同一生成元」セキュリティ機能にアクセスしているようです(明らかに、ブラウザはIPアドレスとドメインが実際に同じサイトであることを認識していません)。

大きな問題は、なぜコードにIPアドレスを含む絶対パスがハードコードされているのかということです。それらがそのようにハードコーディングされていなければ、問題はありません。

問題の解決策は、ドメインをハードコーディングしないことです。質問から、すべてが同じサイトにあるように思われるので、ハードコードされたIPアドレスをURLから削除するだけで、問題はありません。

したがって、URLは次のようになります。/folder1/folder2/file.json

これは、サイトにアクセスするどちらの方法でも機能するはずです。

于 2012-08-15T21:40:48.983 に答える