Javascript 将表单数组值发送到ajax
因此,我的php需要2个值,Javascript 将表单数组值发送到ajax,javascript,jquery,ajax,Javascript,Jquery,Ajax,因此,我的php需要2个值,operation=>string和data=>array。以下是表格(动态生成的输入): 标题: . . . 说明: 编辑媒体 现在我必须从表单中的所有数据[xyz]创建一个数组,但我很难找到这样做的方法。我最接近的是这样做: 我必须将数组存储为键/值,没有其他方法,因此我可以ajax\u请求={operation:operation\u input,data:input\u array\u data} 哦,在提交“正常”trought POST时,表单也能按预
operation=>string
和data=>array
。以下是表格(动态生成的输入):
标题:
.
.
.
说明:
编辑媒体
现在我必须从表单中的所有数据[xyz]
创建一个数组,但我很难找到这样做的方法。我最接近的是这样做:
我必须将数组存储为键/值,没有其他方法,因此我可以ajax\u请求={operation:operation\u input,data:input\u array\u data}代码>
哦,在提交“正常”trought POST时,表单也能按预期工作。我使用了对象而不是数组。在PHP中进行json_解码时,将“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();
});
我使用了对象而不是数组。在PHP中进行json_解码时,将“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();
});
如果表单本身可以工作,那么让jQuery为您处理它
如果表单本身可以工作,那么让jQuery为您处理它
我忘了提到表单有动态生成的输入,所以不知道每个输入的名称是什么。这是一个很好的答案,但是命名键数组,如array['key']在JSdunno中工作得很好,如果可能有帮助的话,但是我做了这个jQuery插件来处理动态生成的表单,认为应该使用正确的方法。序列化,这可能会有帮助。因此,您可以执行命名键。很长一段时间以来,我一直认为它会自动转换为object,因为这不起作用:var my_array=[“key”:“value”]我已经调整了我的答案。这些链接表明你是对的。。。可以使用var my_数组;我的数组['key']='value'。但这是一种“将数组转化为对象”的方法,因为对象['attribute']='value'赋值是一种对象特征。我忘了提到表单有动态生成的输入,所以不知道每个输入的名称是什么。这是一个很好的答案,但是命名键数组,如array['key']在JSdunno中工作得很好,如果可能有帮助的话,但是我做了这个jQuery插件来处理动态生成的表单,认为应该使用正确的方法。序列化,这可能会有帮助。因此,您可以执行命名键。很长一段时间以来,我一直认为它会自动转换为object,因为这不起作用:var my_array=[“key”:“value”]我已经调整了我的答案。这些链接表明你是对的。。。可以使用var my_数组;我的数组['key']='value'。但这是一种“将数组转化为对象”的方法,因为对象['attribute']='value'赋值是一种对象特征。如果我发布这个字符串,我如何将它转换回PHP端的数组/对象?我必须手动解析它吗?@Juventus18-你可以查看$\u POST
,就像你正常提交表单一样。序列化的要点是它使用标准格式,所以您不需要使用自定义解析器。愚蠢的我,即使我“测试”了这个,我也不知道为什么我认为它不会工作……如果我发布这个字符串,我如何将它转换回PHP端的数组/对象?我必须手动解析它吗?@Juventus18-你可以查看$\u POST
,就像你正常提交表单一样。序列化的要点是它使用标准格式,所以您不需要使用自定义解析器。愚蠢的我,即使我“测试”了这个,我也不知道为什么我认为它不起作用。。。
data: $('#your_form').serialize();