需要向后台传递一个对象数据,但对象中包含数组,结果请求报错,500

Posted 撸码小能手

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了需要向后台传递一个对象数据,但对象中包含数组,结果请求报错,500相关的知识,希望对你有一定的参考价值。

一、背景,由于前后端交互经验匮乏,今天遇到了一个问题。发送一个对象给后端,对象中包含了一个数组,然后请求失败了。。。

 

1、提交前,打印出要提交的数据,如图:

 

 

2、然后,查看了控制台,

发现 "message"中的报错信息, 不能识别的属性 \'agentAreas[0][areaId]\',  但是我记得,对象中,我没有传这么奇怪的 键名啊。

 

3、于是,我继续查找,无意中,在 “Headers”中,最底部,查看到这样的数据,

如下图:

,出现这样的情况,那应该就是我 传入的数据有问题。 

4、我应该要处理一下传入的数组,然后我尝试着 使用  JSON.stringfy() 先处理一下要传入的这个数组,变成字符型。

重新走一遍:

(1)打印出要提交的数据,原来的数组变成了字符型,也没有报错了,如图:

 

 (2)查看一下  network,preview,和Headers, 发现也提交成功了。

 

 

 

二、总结

 是自己传递的数据,有问题,导致的请求失败。  以对象的形式把数据传给后台,如果键值对中的 值是数组类型, 应该先把 这个数组转成 字符型,再传递。

不知道自己捣鼓的对不对,希望不会误导他人。 欢迎指正,批评越多,我学的越多,哈哈!!!

 

以上是关于需要向后台传递一个对象数据,但对象中包含数组,结果请求报错,500的主要内容,如果未能解决你的问题,请参考以下文章

20210901总结1

springboot前端向后端传递复杂对象如list set的接收问题

C# json对象中包含数组对象时,如何存入数据库

LinqToSql - 在选定结果中包含链接对象

ajax传递数组form表单提交对象数组

如何将数据从对象传递到javascript中的新数组?