我尝试后的对象数组与postman在form-data(也想上传图像),但在后端,我只收到一个索引与对象在字符串格式。x1c 0d1x
c9qzyr3d1#
在XHR中,数据是以String格式传递的,因此当服务器接收到数据时,必须使用JSON.parse将string转换回object or array。不能在XHR post方法中直接传递数组或对象。使用JSON.stringify()将data转换为string:
JSON.parse
string
object or array
JSON.stringify()
data
JSON.stringify(data)
用于在服务器上检索数据使用JSON.parse()将string转换为data:
JSON.parse()
JSON.parse(data)
k10s72fa2#
是的角色不应该有方括号,相反,它们应该包围在你传入的数组周围。下面是我刚刚整理的一个ExpressJS示例。代码:
const express = require("express"); const app = express(); const bodyParser = require("body-Parser"); app.use(bodyParser.json()); app.post("/", function (req, res, next) { console.log(req.body); res.send("Success"); }); app.listen(3000, () => { console.log("Running on port 3000"); });
JSON对象:
{ "testArray": [ { "firstName": "Joe", "lastName": "Smith", "age": 51 }, { "firstName": "James", "lastName": "Smith", "age": 21 } ] }
console.log(req.body)的结果
console.log(req.body)
{ testArray: [ { firstName: 'Joe', lastName: 'Smith', age: 51 }, { firstName: 'James', lastName: 'Smith', age: 21 } ] }
不确定您使用什么框架来开发API,但是ExpressJS很简单,而且文档记录很好。
ckocjqey3#
您可以简单地在Postman form-data key-value input中添加许多同名字段,它会将它们转换为数组
key-value
input:1 input:2 input:3 file:some-file >> in server you will have { input:[1,2,3], file:some-file }
3条答案
按热度按时间c9qzyr3d1#
在XHR中,数据是以String格式传递的,因此当服务器接收到数据时,必须使用
JSON.parse
将string
转换回object or array
。不能在XHR post方法中直接传递数组或对象。使用
JSON.stringify()
将data
转换为string
:用于在服务器上检索数据
使用
JSON.parse()
将string
转换为data
:k10s72fa2#
是的角色不应该有方括号,相反,它们应该包围在你传入的数组周围。下面是我刚刚整理的一个ExpressJS示例。代码:
JSON对象:
console.log(req.body)
的结果不确定您使用什么框架来开发API,但是ExpressJS很简单,而且文档记录很好。
ckocjqey3#
您可以简单地在Postman form-data
key-value
input中添加许多同名字段,它会将它们转换为数组