表单如何传数组?
要传一个表单,里面有一个数组,数组里是一些对象
但是发出去的格式是这样的:
导致后台收不到
我希望是
scGoodsopextendDataParamList[0].goodsopextendId
这里的数组长度是不一定的
前端就是ajax发送的 data是带数组的对象
$.ajax({
url: url,
data: params,
type: type ? type : "post",
contentType: contentType ? contentType : "application/x-www-form-urlencoded; charset=UTF-8",
dataType: "json",
cache: false
})
如何解决?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
不太明白图片内容,建议贴关键测试数据
解决方案:沟通
您可以把params,Json序列化一遍(当然需要跟后台老哥沟通)通过字符串形式发给后端老哥
JSON.stringify(params)
这样序列化之后就能正常传给后端了,但是需要后端再进行反序列化之后就能正常解析了
表单也行,不过你需要自己把你的参数格式手动转换成scGoodsopextendDataParamList[0].goodsopextendId 这种,不推荐吧,太恶心了。和后端商量下,这个复杂的格式用json类型来传多香,本来表单就不太适合这种数组格式的传输:
简单格式(键值对)可以用 Query String 格式来发送。但复杂格式(JS 对象)建议先转换成文本可描述的格式比如 XML、JSON 或者自定义格式。
像现在这种情况,建议直接使用 JSON 格式(主要是 JavaScript 处理 JSON 方便),直接将整个 JSON 字符串传送到后台,由后台使用 JSON 库再恢复成对象来使用。
前端转 JSON 容易(假设数据对象是
data
):后端拿到文本之后,再用工具转成内存数据结构,
JSON.parse()
就可以转