0

JSONオブジェクトをフラッシュAS3からに渡しますPHP。その後、オブジェクトは分解されてDBに渡されます。

In Flash:
    var jsonObject:Object = JSON.encode(currentlySelectedArray);

In PHP:
    $json_pieces_array = $_POST['jsonArray'];
    $json_obj = json_decode($json_pieces_array, true);

'trace(saveDataJSON.ToString());'の出力をコピー/貼り付けしてコードをテストすると、そしてそれを私の'$_POST ['jsonArray'] ='[[ここで有効なJSONLintチェック済みJSON。]]'に入れると、すべてが正常に機能し、データベースにプッシュされます。

しかし、フラッシュ送信をいじって使用しない$_POSTと、MYSQLDBに何もプッシュされません。

私の質問は2つあります:

1)この種の合併症をバグテストするための最良の方法は何ですか?私はフラッシュインターフェースを使用しています。

2)どんなものを探すべきですか?JSONエンコードされているものが有効であることをすでに確認しました。私が見逃しているある種の奇妙な型キャストはありますか?

4

1 に答える 1

1

まず、フラッシュからのリクエストをデバッグする必要があります。いくつかの方法でそれを行うことができます:

  • するダミーファイルを作成しvar_dump($_REQUEST);ます;
  • file_put_contents('my_dump_file.txt', var_export($_REQUEST, true));既存のスクリプトに追加します。
  • ウェブサーバーのログを確認してください。
  • デバッガー (xdebug など) でスクリプトをデバッグします。

次に、PHP スクリプトを確認する必要があります。var_dump($_REQUEST);一番上にして、ちょうど前にしてみてくださいjson_decode$_POST['jsonArray']他の場所に上書きされる可能性があります。

問題はフラッシュとphpの間にあると思います。ほとんどの場合、単にスペルミスがあるか、または$_POSTが混在してい$_GETます。

于 2012-12-13T18:41:12.917 に答える