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]表单中的所有内容创建一个数组,但我很难找到这样做的方法。我最接近的就是这样做:link

我必须将数组存储为键/值,别无他法,所以我可以ajax_request = { operation: operation_input, data : input_array_data };

哦,当提交“正常”的 POST 时,表单会按预期工作。

4

2 回答 2

3

如果表单自己工作,那么让 jQuery 负责将数据转换为适合您的 XHR 表单

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

我使用了一个对象而不是一个数组。当您在 PHP 中进行 json_decode 时,将“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 回答