Node.js 无法从api获取
对于上述代码(未定义),值为send inNode.js 无法从api获取,node.js,arrays,api,express,Node.js,Arrays,Api,Express,对于上述代码(未定义),值为send inres.send(body.centers) 正文采用json格式,如下所示: const express = require("express"); const bodyParser = require("body-parser"); const request = require("request"); const app = express(); app.use(bodyParser.
res.send(body.centers)
正文采用json格式,如下所示:
const express = require("express");
const bodyParser = require("body-parser");
const request = require("request");
const app = express();
app.use(bodyParser.urlencoded({extended : true}));
app.listen(3000,function(){
console.log("server is running");
})
app.get("/",function(req,res){
res.sendFile(__dirname + "/index.html");
})
app.post("/",function(req,res){
var url = "https://cdn-api.co-vin.in/api/v2/appointment/sessions/public/calendarByPin?";
var pincode = req.body.pinCode;
url = url + "pincode=" + pincode;
var date = req.body.date;
url = url + "&date=" + date;
console.log(pincode,date);
request(url,function(err,res1,body){
res.send(body.centers);
})
})
试着看看身体看起来怎么样
{"centers":[{"center_id":596215,"name":"MISSION UHC","address":"MISSION NADIAD","state_name":"Gujarat","district_name":"Kheda","block_name":"Nadiad","pincode":387002,"lat":22,"long":72,"from":"09:00:00","to":"18:00:00","fee_type":"Free"}
如果端子中的阀体输出带有双引号,如:
{
“键”:“值”
}
这意味着主体是JSON字符串,您需要使用以下命令将其解析为对象:
request(url,function(err,res1,body) {
console.log(body);
})
然后发送:
body = JSON.parse(body)
确切地说:body是JSON字符串还是JavaScript对象?我猜
body
是字符串而不是对象。尝试body=JSON.parse(body)
res.send(body.centers)