1

ログインするために、 ajax リクエストを に送信し、index.phpそこでセッション変数などを設定し、ajax 応答を取得します。session_start()receiver.php

これで、次のコードを含むページを更新したときにのみ、php セッション変数を完全にキャプチャできます。index.php

jsSessionUserId = <?php     
    if (isset($_SESSION['userId'])) { //LoggedIn:
        echo json_encode($_SESSION['userId']); 
    } else { //  Not logged in.
        // some code here
    }
?>;

私が本当に欲しいのは、これを関数に入れ、成功した ajax 応答を受け取ったときにこの関数を呼び出すことです (したがって、index.phpページを更新する必要はありません)。機能していません。私は、php が JavaScript 関数内で完全に機能しないのではないかと考えています。助けてくれてありがとう。

4

1 に答える 1

1

物事を混同するのは悪い考えです。phpとjavascriptのように。現時点で最も簡単な解決策 - 成功したログイン応答を受信したら、JavaScript 変数を上書きします。

$.post("receiver.php", formData, function(response){ // login callback
  if(response.UserId){ // return user id if login is successful
    jsSessionUserId = response.UserId; // overwrite old variable
  }
}, "json");
于 2013-10-01T14:52:30.023 に答える