こんにちは、2 次元配列である JSON オブジェクトがあり、Ajax.Request を使用して PHP に渡す必要があります (私が知っている唯一の方法です)。...現在、js 関数を使用して配列を手動でシリアル化し、次の形式でデータを取得します: s[]=1&d[]=3&[]=4 など ....
私の質問は:JSONオブジェクトをより直接/効率的に渡す方法はありますか?..自分でシリアル化する代わりに?
提案をありがとう、アンドリュー
こんにちは、2 次元配列である JSON オブジェクトがあり、Ajax.Request を使用して PHP に渡す必要があります (私が知っている唯一の方法です)。...現在、js 関数を使用して配列を手動でシリアル化し、次の形式でデータを取得します: s[]=1&d[]=3&[]=4 など ....
私の質問は:JSONオブジェクトをより直接/効率的に渡す方法はありますか?..自分でシリアル化する代わりに?
提案をありがとう、アンドリュー
Prototype の関数toJSON()を使用して、配列を JSON オブジェクトに変換することもできます。Ajax 呼び出しを介してサーバーに渡した後、PHP の関数json_decode()を使用してオブジェクトをデコードします。
オブジェクトを JSON 文字列として PHP に渡し、PHP では組み込みの json_decode を使用して文字列から PHP オブジェクトを取得します。
Javascript では、オブジェクトで「stringify」関数を使用して文字列として取得します。ライブラリは、たとえばここで入手できます: https://github.com/douglascrockford/JSON-js/blob/master/json2.js
que Javascript 側 (Prototye を使用):
var myJSON= Object.toJSON(youArray);
que Php 側:
$myjson = $_POST['myjson'];
$arrayJSON= json_decode(stripslashes($myjson), true);
Object.toQueryString()はネストされたデータを受け入れないため、 http: //www.openjs.com/scripts/data/ued_url_encoded_data/をチェック して、ネストされたデータを直接正しくエンコードします...