Ajax 提交表单,如:name="arr []" 这种格式,提交后少一个" ] ",求解?

各位有遇到这个情况吗?
file
file

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 12

你这参数都错了吧。:flushed: 前天传数组,正常的后台获取的应该是这样的。

arr [
0 => ??,
1 => ??,
2 => ??
]

我用 jq 是直接这样子的

// 直接 serialize
var form = $('#form').serialize();
$.post('{{ url('test') }}', form, function(res){
      console.log(res);
});

建议截图你的前端 AJAX 代码

6年前 评论
thomas-fan

把前端代码贴下,一起研究

6年前 评论

@DavidNineRoc 多选框、页面动态增加元素 这种做过吗?

6年前 评论

@一墨染尽青衣颜 建议你贴前端代码,你都用数组的方式了,就可以动态增加标签了

6年前 评论

@thomas-fan 前端用的layui框架,参数直接传给后台,不应该有问题吧

file

6年前 评论

@DavidNineRoc 我这边试了下,任何一个元素,只要添加一对方括号,后台就少一个],前端就一个ajax提交,代码上面贴了

6年前 评论

打印一下参数给看。

data {data:$(this).serialize()}

换成这个试一下。

6年前 评论

@DavidNineRoc 问题里面的第一张图就是console.log的数据,第二张图是后台var_dump数据,和serialize是一样

6年前 评论

前端传数组不应该这样传吧。

6年前 评论

@一墨染尽青衣颜 应该是这样传的
data[arr][0]:1,data[arr][1]:2

6年前 评论

@hiword 嗯嗯,找到问题了,_token验证我加在这个地方,我以为直接给表单赋值应该可以,没想到不行,2个解决办法,一个是在表单内验证_token, 这个我用不了,一个是遍历表单,重新赋值,这个搞定了

6年前 评论

@IceBay 嗯,给表单直接赋值后就有问题了,已经解决

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!