请求API在服务器中不起作用,但在浏览器中起作用

问题描述 投票:0回答:1

正如我在标题中提到的,我有一个API,它为我提供了有关国家的详细信息。我创建了一个处理API请求的快速服务器。问题是它没有发出请求,但是在从浏览器URL请求时,相同的URL返回JSON。另一方面,我尝试了另一个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}`);
});
javascript node.js express request
1个回答
0
投票

试试这个。为什么不在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);
    }
  });
});
© www.soinside.com 2019 - 2024. All rights reserved.