2

私はここで何かに取り組んでいます。

Javascript

  $('#create').submit(function() {
$.ajax({ 
    data: $(this).serialize(),
    type: $(this).attr('method'), 
    url: $(this).attr('action'), 
    success: function(response) {
        console.log(response);
    }
});
return false;
});

PHP ファイル (URL):

session_start();
header('Access-Control-Allow-Origin: *');
session_set_cookie_params( time() + 3600, '/', '.domain.com');
print_r($_SESSION);
die;

my session[memberid] = [some int]; というフォームのページ

しかし、ajax呼び出しを行うと、セッション変数全体が空になります

グーグルでいくつかの答えを探してみました。スタックオーバーフローでいくつかの答えを探してみました

しかし、実際には何も役に立ちませんでした。そして、私はiframeの使用を好みません。それが解決策だったのかもしれませんが、ここで私が何をする必要があるかを知っている人がいるかもしれません。

フォームはドメイン m.domain.com にあり、php ファイルは domain.com にあります。

4

3 に答える 3

2

それで、私はそれを修正しました。ファイルをルートからモバイル ルート ディレクトリにコピーし、実際のルート経由でインクルードしました。それは今動作します。他のコメントを試しましたが、それらも機能しません。

迅速な対応に感謝します。

于 2013-10-03T08:51:43.793 に答える
2

header('Access-Control-Allow-Headers: X-Requested-With');また、呼び出しを適切に処理するには、サーバー側に追加する必要があります。

CORS とサーバー側の処理の詳細については、こちらをご覧ください

于 2013-10-03T08:44:38.427 に答える
0

XHR2 で CORS クライアント側サポートを使用するように jQuery に指示する必要があると思います。

$('#create').submit(function() {
    $.ajax({ 
        data: $(this).serialize(),
        type: $(this).attr('method'), 
        url: $(this).attr('action'), 
        xhrFields: { withCredentials: true },
        crossDomain: true,
        success: function(response) {
            console.log(response);
        }
    });
    return false;
});
于 2013-10-03T08:41:13.930 に答える