我像这样在节点 js 中获取数据
var no_ktp = req.body.cust_noktp
request({
uri : 'https://evodms-dev.client.com/evoDMM/api/api_customer_all.php?cust_noktp='+no_ktp,
auth: {
'bearer': '71D55F995678929'
},
rejectUnauthorized: false,//add when working with https sites
requestCert: false,//add when working with https sites
agent: false,//add when working with https sites
}, function(error, rows) {
if (error) {
console.log(error);
} else {
console.log(rows);
}
});
日志是这样的
但我想获得状态:false,当我尝试console.log(rows.body.status)
日志显示未定义时。如何写它以便我获得状态?
感谢您的任何帮助...
rows.body.status
当且仅当您的身体是一个对象时,您才能使用这种方式访问状态!
但是,在日志中,您的对象实际上是一个字符串,因此,您需要先使用JSON.parse(rows.body)
才能将对象字符串转换为实际的 javascript 对象。然后您将能够使用正常语法访问任何属性
let body = JSON.parse(rows.body);
console.log(body.status) // 'False'
更新
所以,我刚刚阅读了请求 nodejs 包https://www.npmjs.com/package/request的自述文件,您可以看到请求的回调实际上采用了 3 个参数:
(error, response, body)
响应参数是你所谓的“行”,所以你可以,而不是使用我的方法(JSON.parse),你可以使用提供给回调函数的第三个参数,不需要解析,你可以直接使用它:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句