首先在前端已经获取到这个数组对象:
let arr=[
{
id:"1",
content:"spd",
},
{
id:"2",
content:"spd",
},
{
id:"3",
content:"spd",
},
{
id:"4",
content:"spd",
}
]
后端需要接受的json数组格式:
let arr=[{"id":"1","content":"spd"},{"id":"2","content":"spd"},{"id":"3","content":"spd"},{"id":"4","content":"spd"}]
刚开始一直想需要把数组转成json数组,然后再传给后端接口,
最后才发现ajax请求会自动把数组转成json数组,我们就不用再去转一次,
但是最后发现还是报未知错误,经查看发现传给后端的数据变成:0:[Object object]...
最后发现在前端向后端传输的数据进行定义:
export default function Api(url, method, data = {}, istransform = true, extra) {
let requestObj = {
url,
method
}
if (method.toLocaleLowerCase() == 'post') {
requestObj.data = data;
if (istransform) {
requestObj.transformRequest = [function (data) {
var formData = new FormData();
Object.keys(data).forEach((v, i, a) => {
formData.append(v, data[v]);
})
return formData;
}]
}
if (extra && extra == 'blob') {
//导出额外设置响应类型
requestObj.responseType = extra;
}
if (extra && extra == 'timeoutMore') {
requestObj.timeout = 30000
}
} else if (method.toLocaleLowerCase() == 'get') {
requestObj.params = data
}
return request(requestObj)
}
可以看到当发送数据的方式是“post”的时候,如果不传或者传的是true,就会把发送的json数据转成formdata对象,所以在页面中我们可以看到发送的数据变成了:0:[Object object],1:[Object object]...
所以传的值应该是
export function bureauSaveShow(data) {
return Api("/url", "POST", data, false)
}