req.body всегда пустой объект - PullRequest
0 голосов
/ 20 января 2020

Я работаю на сервере React App + Express,

Я хочу получить информацию о маршруте / информации на моем сервере всю информацию из формы на клиенте,

Но когда я консоль журнала "req.body" на сервере, я всегда получаю пустой объект (см. Express код ниже),

Я пытался использовать body-parser, но ничего не меняется, я не посмотрите, в чем проблема,

Может кто-нибудь помочь мне, пожалуйста?

Код реагирования:

async function getResults(e) {
    e.preventDefault();

    const info = {
      minimumPrice,
      maximumPrice
    };

    console.log("info ", info);

    try {
      const data = await axios.get("http://localhost:5000/info", info);
      console.log("data ", data);

      setResults(data.data);
      console.log("results ", data.data);
    } catch (e) {
      console.error(e);
    }
  }

<form onSubmit={getResults} autoComplete="off" method="get">
                <div className="row">
                  <div className="input-field col s12">
                    <input
                      id="minimum-price"
                      type="number"
                      name="minimumPrice"
                      placeholder="Entrez votre prix minimum"
                      value={minimumPrice}
                      onChange={e => setMinimumPrice(e.target.value)}
                      style={{ backgroundColor: "transparent !important" }}
                      required
                    />
                    <label htmlFor="email">Prix minimum</label>
                  </div>
                </div>
                <div className="row">
                  <div className="input-field col s12">
                    <input
                      id="maximum-price"
                      type="number"
                      name="maximumPrice"
                      placeholder="Entrez votre prix maximum"
                      value={maximumPrice}
                      onChange={e => setMaximumPrice(e.target.value)}
                      style={{ backgroundColor: "transparent !important" }}
                      required
                    />
                    <label htmlFor="email">Prix maximum</label>
                  </div>
                </div>
                <div className="row">
                  <div className="col s12" style={{ textAlign: "center" }}>
                    <button
                      className="btn waves-effect waves-light"
                      type="submit"
                      name="action"
                    >
                      Rechercher
                      <i className="material-icons right">send</i>
                    </button>
                  </div>
                </div>
              </form>

Express код:

const express = require("express");
const app = express();
const leboncoin = require("leboncoin-api");
const cors = require("cors");
const bodyParser = require("body-parser");


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

app.get("/info", (req, res) => {
  console.log("body ", req.body); <---------- ALWAYS AN EMPTY OBJECT
}

1 Ответ

2 голосов
/ 20 января 2020

Вы делаете запрос на получение с топором ios. Параметры, отправленные с запросом get, доступны в req.query.

Параметры, переданные с запросом post , получены в req.body.

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