、あなたのJSONオブジェクトを間違っている。それは次のようになります。
var jsonObject={
"menu":
{
"intro":{
"intosub":"sub_1"
},
"vis":{
"visub":"sub_2"
}
}
};
EDIT
var jsonObject={ "menu": { "intro":{ "intosub":"sub_1" }, "vis":{ "visub":"sub_2" } }
var string=JSON.stringify(jsonobject);
var phpcode="<?php $_SESSION["jsonObject"]= " phpcode+=string+"?>";
JavascriptがPHPは、サーバー側であるときに、クライアント側です。つまり、JavaScriptを使用してオブジェクトを作成すると、クライアント側のデータをサーバーに送信し、必要に応じてクライアントに再度送信できるAjaxを使用するまで、サーバーと対話できなくなります。
var phpcode="<?php $_SESSION["jsonObject"]= " phpcode+=string+"?>"
で何をしたのですか?あなたの "phpcode" JS変数を満たすためにクライアントに送信する前に、あなたのサーバーに尋ねたということです...セッション変数を設定すると、そのようなjsonオブジェクトでPHPセッション変数を設定しようとすると、JSを使わずにPHPセッション変数を直接設定した場合と同じになります。
しかし、セッション変数をJSを使用して作成した動的データで埋めたいと思うか、あなたの質問は意味をなさない。
あなたが理解する必要があるのは、あなたがjavacriptに<?php stuff; ?>
を書くとき、それがクライアントに送信されるとき、あなたがjavascriptで直接stuffを書いたようなものです。それは完了しており、変更されず、確実にサーバーと通信しません。
例:var math=<?php echo 10+1;?>;
は、あなたがJSに直接var math=11;
を書いたのと同じです。もちろん、PHPを使用してJSにPHPを挿入しますが、完了してクライアントに送信すると、それは石で設定され、Ajaxを使用して変更します。
jsonオブジェクトを取得してAjaxを使用してPHPに送信する必要があります。
私はあなたがので、ここでのjQueryを使用して次のようになりますアヤックスについてjQueryのドキュメント>https://api.jquery.com/jQuery.ajax/
ですされました:
$.ajax({
type:'post',
url:'path/to/a/PHP/file',
data:{jsonobject:yourstringifyjsonobject}
});
あなたが取得することあなたの「パスで「jsonobject」/に/ /ここでは$ _POST [ 'jsonobject']としてPHP /ファイルは、」あなたが行く:
session_start();//to not forget if you want session variables to work
$_SESSION['whatever']=json_decode($_POST['jsonobject'])
あなたのセッション変数は、あなたのJSONオブジェクトに設定されています。
さて、AJAX呼び出しを使用して、オブジェクトをクライアントからサーバーにシリアル化して送信します。サーバー側では、JSON文字列または逆シリアル化されたオブジェクトをセッションに格納します。 – arkascha
あなたの答えをありがとうが、私はこの方法を試みたが、私はエラーを見つけた、あなたは私に例を与えることができますか? – riztak
_exact_エラーメッセージとともにコードスニペットを投稿してください。それから私達は助けることができるはずです。この質問がなければ、_ゲームだと思います。 – arkascha