此问题已在此处有答案:
What are prototypes and why are they added to my json object(2个答案)
21小时前关闭
I正在使用axios进行post请求,它给了我正确的响应数据,但有一个额外的字段**[Prototype]]:对象**。
我不想在我的API里看到这个。通过使用postman进行测试,未显示此附加字段。为什么Axios要给我这个额外的字段,我如何才能摆脱它?
这是我的React代码。
const submitHandler = (event) => {
event.preventDefault();
let name = event.target.name.value;
let head = parseInt(event.target.head.value);
console.log(name, head);
const body = {
name: name,
flag: 1,
accountNumber: 100,
headNo: head,
sumDebit: 0,
sumCredit: 0,
};
axios
.post("http://localhost:5000/api/accounts/create", body)
.then((res)=>{console.log (res.data);})
.catch((err) => console.log(err));
};
这是我的密码。我只使用这些中间件。
app.use(cors({origin:true,credentials:false}));
app.use(express.json({ extended: true }));
app.use("/api/accounts", account_route);
app.use("/api/transaction", transaction_route);
app.use("/api/account-info", accounts_route);
我的API代码是以这种格式发送的。
res.json(reqData);
2条答案
按热度按时间ycggw6v21#
该属性是每个javascript对象的标准属性,该属性不是由您的API返回的,javascript引擎在浏览器中添加此属性以处理该对象
参见:https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Object_prototypes
jaql4c8m2#
您可以忽略它并使用与您的应用相关的数据。
你看到的是一个javascript对象属性添加到你的对象。作为原型继承的一部分。所以浏览器可以使用它。