【发布时间】:2020-08-25 05:20:14
【问题描述】:
【问题讨论】:
【问题讨论】:
在 XHR 中,我们只能传递字符串格式的数据,当服务器接收到时,你必须使用JSON.parse 将string 转换回object or array。
您不能在 XHR post 方法中直接传递数组或对象。
使用JSON.stringify() 将data 转换为string:
JSON.stringify(data)
用于在服务器检索数据
使用JSON.parse() 将string 转换为data:
JSON.parse(data)
【讨论】:
JSON.parse(datastring)
是的,角色不应该有方括号,而是应该将它们包裹在您传入的数组周围。这是我刚刚放在一起的 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)的结果
{
testArray: [
{ firstName: 'Joe', lastName: 'Smith', age: 51 },
{ firstName: 'James', lastName: 'Smith', age: 21 }
]
}
不确定您使用什么框架来开发您的 API,但 ExpressJS 很简单,并且有很好的文档记录。
【讨论】:
您可以在 Postman form-data key-value 输入中简单地添加许多具有相同名称的字段,它会将它们转换为数组
input:1
input:2
input:3
file:some-file
>> in server you will have
{
input:[1,2,3],
file:some-file
}
【讨论】: