Реагирование на Express API не работает, какие-нибудь советы? - PullRequest
0 голосов
/ 24 марта 2019

Я пытаюсь сделать простой вызов извлечения моего экспресс-API, и я не могу заставить его работать, ответ 200, но я получаю index.html вместо JSON, который я хочу. Это мой сценарий:

package.json

"version": "1.0.0",
  "description": "Application to show FrontEnd knowledge",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "webpack-dev-server --config webpack.config.js",
    "build": "webpack --config webpack.config.js --mode production"
  },
  "proxy": "http://localhost:5000/",

Код реагирующего компонента

  callBackendAPI = () => {
    const body = fetch("/api/hello")
    .then(res => res.text())          // convert to plain text
    .then(text => console.log(text))  // then log it out

    return body;re
  };

Экспресс-код server.js

const express = require('express');
const bodyParser = require('body-parser');

const app = express();
const port = process.env.PORT || 5000;

app.use(bodyParser.json());


app.get('/', function(req, res) {
    res.sendFile(__dirname + '/public/index.html');
})

// create a GET route
app.get('/api/hello', (req, res) => {
    res.send({ express: 'Hello From Express' });
  });



  // console.log that your server is up and running
app.listen(port, () => console.log(`Listening on port ${port}`));

1 Ответ

0 голосов
/ 24 марта 2019

Из вашего серверного кода похоже, что вы отправляете обратно JSON, но в своем коде веб-интерфейса вы ищете текст.

 callBackendAPI = () => {
    const body = fetch("/api/hello")
    .then(res => res.json())         
    .then(data => console.log(data.express))
  };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...