无法读取请求正文,但可以打印



我真是一筹莫展。根据http的请求,我可以打印body对象,但无法访问其内容。

所以我从网上发送了一个这样的请求:

return fetch('https:xxxxxxx/xxxx', {
method: 'post',
body: JSON.stringify(saleObject),
headers: {
'Accept': 'application/json',
'contentType':"application/json",
'dataType':"json",
}
}).then(function(res) {
return res.json();
}).then(function(data) {
return data.orderID;  
});
}

在我的服务器(nodejsexpressFirebase(上,我试图用多种方式读取它:

exports.payPalIntent = functions.https.onRequest(async(req, res) => {
return cors(req, res, async () => {

console.log("req.body",req.body);  //this print AN OBJECT, A REAL OBJECT NOT A STRING
console.log("req address",req.body.address); //=undefined, there is address property inside which
return res.send(200);
});

所以,第一个打印的是:

req.body {"address":{"city":"some city","zip":"345334","area":"USA","street":"Hai 13", ........

第二个说Cannot read property 'address' of undefined

当然,我也尝试过JSON.stringify(req.body),它打印了一个我无法访问的字符串对象。

如何访问此对象?

JSON.stringify将JavaScript对象转换为JSON字符串。您已经有一个JSON字符串,并且希望将其转换为JavaScript对象,因此使用相反的方法:JSON.parse(req.body)。然后,您应该能够使用点运算符访问属性。

相关内容

  • 没有找到相关文章

最新更新