我正在使用express来调用外部API
我希望我的主页成为搜索表单,然后将发布请求发送到/results
,其中路由从搜索表单中获取查询,将其附加到外部API,进行调用,然后显示结果。
请记住,调用来自Google Graph Search API,并返回JSON-LD
这是我到目前为止所拥有的:
const express = require('express');
const request = require('request');
const path = require('path');
const bodyParser = require('body-parser');
const app = express();
// Set views
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
// Configure body-parser
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Example app listening on port ${PORT}!`);
});
const url =
'https://www.example.com/api/search_wrapper?query=';
app.get('/', (req, res) => {
console.log(req);
res.render('search');
});
app.post('/results', (req, res) => {
request(`${url}${req.body.term}`, (error, response, body) => {
if (!error && response.statusCode === 200) {
res.send(body);
console.log(typeof body) // string
} else {
console.log(error);
}
});
});
上面显示了看起来像JSON的内容,但是当我尝试发送某些键和console.log时,它是未定义的。我猜这是因为它以字符串形式读取它。
有什么建议吗?