2

メイン ドメイン Web サイトの aspx ページを呼び出そうとするサブドメイン Web サイト (モバイル) があります。ここにはローカル ファイルは含まれません (ドメインからドメインへ)。私はjquery mobileを使用していて、ajax呼び出しをしようとしています。Web を見回すと、誰かが A. 私の問題を理解し、B. 答えてくれる可能性がわずかにあることがわかります。

もう一度。jquery モバイル サイトからドメイン サイトへの ajax 呼び出しを行うと、Origin は Access-Control-Allow-Origin によって許可されていませんというエラーが表示されます。

これを追加しましたが、機能しませんでした

$(document).bind("mobileinit", function () {
        $.mobile.allowCrossDomainPages = true;
        $.support.cors = true;
    })
4

3 に答える 3

5

サーバーは次の HTTP ヘッダーを送信する必要があります。

Access-Control-Allow-Origin *

PHP (サーバー上) を使用すると、次のコードを使用できます。

header('Access-Control-Allow-Origin: http://www.yourdomain.com');

または、PHP を使用して任意のクライアント ドメインからのリクエストを許可するには:

header('Access-Control-Allow-Origin: *');

構成ファイルでこのヘッダーを送信するように Apache を構成できます。

http://harthur.wordpress.com/2009/10/15/configure-apache-to-accept-cross-site-xmlhttprequests-on-ubuntu/

于 2012-06-06T15:29:27.133 に答える
2

変更するプロパティは、CORS を実行できるかどうかとは関係ありません。これらは、現在のプラットフォームがサポートしているかどうかを示す単純なフラグです。それらを変更しても何も起こりません。

クロスドメイン リクエストを行う場合、リクエスト元のサーバーは JSONP を返すか、適切な CORS ヘッダーを返す必要があります。

于 2012-06-06T15:28:07.540 に答える
1

現在、nginx をプロキシとして使用して、jquery ajax リクエストをクロスドメインにする必要があるローカル環境でこの問題を回避しています。

于 2012-06-06T15:35:10.277 に答える