node.js - 无法从 api 获取
问题描述
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);
})
})
对于上面的代码(未定义)值被发送res.send(body.centers)
正文为 json 格式,如下所示:
{"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"}
解决方案
试着看看身体的样子
request(url,function(err,res1,body) {
console.log(body);
})
如果终端中的正文输出带有双引号,例如: { "key": "value" } 这意味着正文是 JSON 字符串,您需要将其解析为对象:
body = JSON.parse(body)
然后发送它:
res.send(body.centers)
推荐阅读
- python - 对多个参数进行排序的函数
- java - 我如何在我的 android 应用程序中保存打开的关卡
- laravel - 如何从laravel中的url中删除public
- authentication - 来自 Scrapy 的 HAProxy 身份验证
- python - 来自 3 个基于视图的图像的纹理映射
- python - 如何从 pandas DataFrame 中的地址列中提取英国邮政编码?
- kotlin - groupBy Kotlin 中的多个字段和总和值
- javascript - 如何在 vue2-datepicker 中设置默认时间?
- mysql - 2列外键
- python - 不向字典添加元素 - RPG 项目系统