Я провел небольшое исследование и нашел похожие сообщения с этой проблемой, но ни одно из решений у меня не помогло.
Я сделал приложение React с приложением create-response-app, а затем создал сервер . js файл, чтобы иметь сервер узла Express. Я следил за некоторыми учебными пособиями, и мне кажется, что я могу разместить свое приложение реакции и свой сервер express в одном приложении / сборке.
Локально все работает, я достигаю своих маршрутов api. Но когда я развертываю сборку своего приложения на сервере, все мои ответы на запросы ax ios являются файлом index. html моего приложения. В чем проблема в моем коде, которая не позволяет моим запросам ax ios достигать моего api?
Вот код:
сервер. js
const connection = require("./conf");
const path = require("path");
const app = express();
app.use(express.json());
app.use(
express.urlencoded({
extended: true,
})
);
app.post("/api/user", (req, res) => {
const formData = req.body;
connection.query("INSERT INTO user SET ?", formData, (err, results) => {
if (err) {
res.status(500).send("Error");
} else {
res.sendStatus(200);
}
});
});
app.get("/", (req, res) => {
res.sendFile(path.join(__dirname, ".build/index.html"));
});
app.listen(8080, () =>
console.log("Express server is running on localhost:8080")
);
Почта. js с помощью ax ios
axios
.post(
"/api/user",
{
email: "xxx",
name: "xxx"
},
{ withCredentials: true }
)
.then((response) => {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
и ответ от ax ios
{data: "<!doctype html><html lang="en"><head><meta charset…s/main.f398f833.chunk.js"></script></body></html>", status: 200, statusText: ""
и в консоли у меня есть хороший URL:
xhr.js:178 XHR finished loading: POST "https://www.mywebsite.com/api/user".
Если я поместил этот URL в свой браузер, у меня будет пустая страница, например когда я помещаю URL-адрес, которого нет в моем маршрутизаторе реакции внешнего интерфейса.
Спасибо за помощь!