0

次の形式で応答を返すphpから応答を受信しようとしています。

PHPの応答

 response=1

JQUERY

$.get('getstate.php', {
    email: $('#game-email').val(),
    country: 'DE',
    lang: lang,
    source: 'promotion'
}, function (data) {
    console.log(data);
});

ブラウザにphpをロードすると、ブラウザで正しい応答が返されます。

getstate.php?email = test @ gmail.com&country = DE

しかし、応答を受信して​​変数データで受信した値を表示しようとすると、何も表示されません。何が間違っているのでしょうか?ありがとう!

4

1 に答える 1

3

$.getのような、または$.ajaxタイプとしてのjqueryユーティリティ関数を使用する必要がありますGET

ブラウザのURLで結果を取得できる場合、結果はGETリクエストに対して送信され、ここではjqueryコードでPOSTリクエストを作成しています。

コメントに更新

「OriginnullはAccess-Control-Allow-Originでは許可されていません。」

この問題は、おそらく別のドメインのページにajaxリクエストを行っている場合、またはホストURLを経由せずにページをダブルクリックしてページを直接読み込んだ場合に発生します。

つまり、URLアドレスの代わりにfile:///、要求しているphpページと同じドメイン名を使用する必要があります。

クロスドメインAJAXリクエストを作成している場合

ajaxリクエストのターゲットページが別のドメインにある場合は、クロスドメインajaxリクエストを実行できます

設定する必要があります

Access-Control-Allow-Origin: *

ajaxターゲットページをホストするサーバー上のヘッダー。値をに設定する*と、任意のドメインからのリクエストが許可されるため、ここで説明するようにセキュリティが強化されます

crossDomainまた、クライアント側では、設定をtrueに設定してJquery.ajaxユーティリティ関数を使用できます。また、これにはIEバージョンでは機能しないという問題があります。

この問題を説明するいくつかの関連する質問を参照してください。

jquery docsに関するこの記事では、同じ問題について説明し、以前に自分で試したが動作するようになったjs修正ファイルを含めることで言及された提案があります。

以下は、さまざまなサーバーでCORSサポートを設定し、クライアント側でajax呼び出しを実行するための関連リンクです。

サーバーにCORSサポートを追加する

JavaScriptのCORSを使用する

于 2013-03-22T09:45:47.593 に答える