私はこれで2時間も苦労しましたが、問題を簡単なテストケースに絞りました。私はたくさんの研究を行い、最終的にこの質問から最初の答えを再現しようとしました:Set session var with ajax。ajaxの新機能であり、ポストリクエストでセッション変数を設定できません
私は、このボタンを押してください(怠惰なHTMLを、しかし、問題がどこにあるかそれはありません):
<html>
<head>
...
<script src="jquery.js"></script>
...
<head>
<body>
....
<?php
var_dump($_SESSION);
?>
<input type="button" class="update">
....
</body>
</html>
jquery.jsでこのAJAXリクエストが呼び出されます:
$.(".update").click(function() {
$.ajax({
type: "POST",
url:"setSession.php",
data: {bar: "foobar"},
success: function() {
console.log("Successful request sent");
}
});
そして最後にsetSession .phpファイル:
<?php
session_start();
$_SESSION["foo"] = $_POST["bar"];
?>
成功メッセージがコンソールに出力されるので、私はrライトファイル。セッション変数が設定されていないのはなぜですか?私はPHP 5.5.2を持っています。ご協力ありがとうございます!
ここで、あなたはur jsファイルまたはスクリプトを呼び出していますか? – Phoenix
@Phoenix ajaxの呼び出しはjquery.js(ちょうど編集されています)にあり、更新クラスの入力ボタンをクリックすると呼び出されます – ConorBaumgart
印刷していないときに設定されていないことをどのように知っていますか? –