Я пытаюсь отправить тело формы из React в Express, а затем отправить его в API. Кажется, все работает, получая тело от React до Express, но я не уверен, как потом отправить это в API. GET-запросы прекрасно работают из API, просто возвращая данные в POST обратно в API, с которым у меня возникли проблемы. Я также использую AXIOS. Любые советы или ссылки на учебники приветствуются.
SiteAdd.js - получает данные формы из состояния и выбирает маршрут с сервера Express.
handleSubmit = e => {
e.preventDefault();
//deconstruct
const { id, siteRef, addrType, addr1, addr2, city, county, postCode, country } = this.state;
const site = {
id,
siteRef,
addrType,
addr1,
addr2,
city,
county,
postCode,
country
};
fetch('/api/siteAdd', site)
.then(() => console.log('Site Created'))
.catch(err => {
console.error(err);
});
};
server.js - сервер Express
var express = require('express')
var http = require('http')
//var bodyParser = require('body-parser')
var cors = require('cors')
const path = require('path')
var app = express()
var axios = require('axios')
app.use(express.urlencoded({ extended: false }));
app.use(express.json());
app.use(cors())
//get
//working
app.get('/api/site', (req, res, next) => {
axios.get('https://****/api/site/')
.then(response => res.json(response.data))
.catch(err => next(err));
})
let sites = [];
app.post('/api/siteAdd', function (req, res) {
const newSite = {
id: req.body.id,
siteRef: req.body.siteRef,
addrType: req.body.addrType,
addr1: req.body.addr1,
addr2: req.body.addr2,
city: req.body.city,
county: req.body.county,
postCode: req.body.postCode,
country: req.body.country,
};
sites.push(newSite);
console.log(sites);
});