0

したがって、私のphpには2つの値が必要operation => stringですdata => array. 以下は、フォーム (動的に生成された入力) です。

<form method="post" action="/operations.php">
        Title: <input type="text" value="valuehere" name="data[title]">
                    .
                    .
                    .
        Description: <textarea name="data[description]"></textarea><br>

        <button class="btn janitor_edit" type="submit">Edit Media</button>

                    <input type="hidden" value="operateMePls" name="operation"> 
        <input type="hidden" value="254" name="data[id]">
</form>

そして今data[xyz]、フォーム内のすべてから配列を作成する必要がありますが、その方法を見つけるのに苦労しています。私が最も近づいたのは、次のようにすることでした:リンク

配列をキー/値として保存する必要があるため、他の方法はありませんajax_request = { operation: operation_input, data : input_array_data };

ああ、「通常の」trough POSTを送信すると、フォームは期待どおりに機能します。

4

2 に答える 2

3

フォームが単独で機能する場合は、jQuery にデータを XHR に適したフォームに変換してもらいます。

data: $('#your_form').serialize();
于 2012-07-16T19:29:43.123 に答える
1

配列の代わりにオブジェクトを使用しました。PHP で json_decode を実行する場合、2 番目の引数として "true" を渡すと、データが配列として出力されます。これがあなたが望んでいたことだと思います。違うものをお探しでしたらコメントください。

$(".janitor_edit").click(function () {
  var data = {};
  data.operation = $("input[name='operation']").val();
  data.data.id = $("input[name='data\\[id\\]']").val();
  data.data.title = $("input[name='data\\[title\\]']").val();
  data.data.description = $("input[name='data\\[description\\]']").val();
});
于 2012-07-16T19:13:50.640 に答える