Экспресс маршруты при вызове внешнего API - PullRequest
0 голосов
/ 09 октября 2018

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

Есть предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...