javascript 我的React Axios post请求成功,但我的响应数据有额外的[[Prototype]]:目标场?[副本]

hc8w905p  于 2023-05-16  发布在  Java
关注(0)|答案(2)|浏览(104)

此问题已在此处有答案

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);
ycggw6v2

ycggw6v21#

该属性是每个javascript对象的标准属性,该属性不是由您的API返回的,javascript引擎在浏览器中添加此属性以处理该对象
参见:https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Object_prototypes

jaql4c8m

jaql4c8m2#

您可以忽略它并使用与您的应用相关的数据。
你看到的是一个javascript对象属性添加到你的对象。作为原型继承的一部分。所以浏览器可以使用它。

相关问题