下面是我的请求正文,它是从客户端发送的
var credentials = {
"ConsumerData": {
"ConsumerStoreId": "a",
"ConsumerUserId": "a"
},
"CustomerData": {
"CustomerId": "2345678890"
},
"ErnD": {
"UID": "3",
"TxnDt": "1"
},
"PurD": [{
"ItemCode": "3456tghw3",
"ItemEANCode": "223222122"
},
{
"ItemCode": "8jghw3865",
"ItemEANCode": "3334443222"
}
]
}
为了进行测试,我发送了var credentials = {}
个空凭据
在服务器端控制器(节点、快速)中,我想检查请求主体是否为空
if(!req.body)
{
console.log('Object missing');
}
if(!req.body.ConsumerData.ConsumerStoreId)
{
console.log('ConsumerStoreId missing');
}
if(!req.body.CustomerData.CustomerId)
{
console.log('CustomerId missing');
}
if(!req.body.ErnD.UID)
{
console.log('UID missing');
}
console.log('outside');
我正在检查一切,但总是它的打印外面只
4条答案
按热度按时间q8l4jmvw1#
2015年欧洲销售战略:
2015年ES2015年之前:
有关pre es2015风格的更多方式:https://coderwall.com/p/_g3x9q/how-to-check-if-javascript-object-is-empty
wnavrhmk2#
vbopmzt13#
当req.body为空时,它返回一个空对象,这样,即使
!req.body
为空也会返回false
。相反,你应该测试!Object.keys(req.body).length
。它要做的是从对象中获取每个键并计数,如果没有找到键,它将返回0
。然后我们需要做的就是使用我们在空数组上使用的相同方法。测试!arr.length,从而可以接收一个布尔值,该布尔值表示是否已满。然后,我们以代码结束:
a5g8bdjr4#
使用lodash.isempty怎么样
以下是相关文档https://lodash.com/docs/4.17.11#isEmpty
检查值是否为空对象、集合、Map或集。
如果对象没有自己的可枚举字符串键控属性,则将其视为空。
类似于数组的值,如arguments对象、数组、缓冲区、字符串或类似于jQuery的集合,如果其长度为0,则被视为空。同样,如果map和set的大小为0,则被视为空。