所以我的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时,表单按预期工作。
答案 0 :(得分:3)
如果表单单独工作,那么让jQuery为你处理converting the data into a form suitable for XHR。
data: $('#your_form').serialize();
答案 1 :(得分: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();
});