vue 中 [ __ob__: Observer]数组不能被后端接收问题解决

1,189 阅读1分钟

背景

最近开发中遇到一个问题,前端传递数组到后端服务器,但是就是不能够被后端解析接收,经过研究发现罪魁祸首是 vue 中 __ob__: Observer造成的。

问题展现

前端传输的数据

ad499d83c2574a87dce592c3d78ddfba.png

发现入参是 __ob__: Observer

__ob__: Observer: 此类数据是vue这个框架对数据设置的监控器,一般都是不可枚举的。

08ea802ff87b884e1c4b8934e1d117bf.png

解决方案

解决方案有两种

  1. JSON解析

    将数据转换为Json字符串,然后将Json字符串转换为Json对象即可。

  2. Object.assign

    Object.assign({},被转换的对象)

最终效果

04f9ae8d1f073b7e38b3fb4bb41c6a98.png

发现类型已经是后端可以接收的Json对象了,完美解决。