Я использую экспресс для вызова внешнего 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 один, он выглядит какне определено.Я предполагаю, что это связано с тем, что он читает его как строку.
Есть предложения?