Запрос к API не работает на сервере, но работает в браузере - PullRequest
0 голосов
/ 14 сентября 2018

, как я упоминал в заголовке, у меня есть API, который предоставляет мне подробную информацию о странах. Я создал экспресс-сервер, который обрабатывает запросы API. Проблема в том, что он не делает запрос, но тот же URL возвращает JSON при запросе с URL браузера. С другой стороны, я попробовал другой API, который возвращает мне ответ. Поэтому я запутался в этой ситуации. Мне нужны ответы от этого API. Вот мой код сервера `

const express = require('express');
const request = require('request');

const bodyParser = require('body-parser');
const port = process.env.PORT || 3000;

const app = express();

app.use(express.static('public'));

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

let country = '';

request({
  url: `https:restcountries.eu/rest/v2/name/${country}?fullText=true`,
  json: true
}, (error, response, body) => {
  console.log('ddfd');
  if (!error && response.statusCode === 200) {
    console.log(body, 'body');
  }
});

app.get('/countries', (req, res) => {
  country = req.query.name;
  console.log(country, 'country');
});

app.listen(port, () => {
  console.log(`Server is up on port ${port}`);
});

1 Ответ

0 голосов
/ 14 сентября 2018

Попробуй это. Почему вы не вызываете запрос внутри API?

app.get('/countries', (req, res) => {
  country = req.query.name;
  console.log(country, 'country');
  request({
    url: `https:restcountries.eu/rest/v2/name/${country}?fullText=true`,
    json: true
  }, (error, response, body) => {
    if (!error && response.statusCode === 200) {
      console.log(body, 'body');
      res.send(body);
    }
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...