티스토리 뷰

반응형

React 로 Front 부분을 개발하고, Back을 Node의 Express 로 다음과 같이 구성했는데

axios로 post 요청을 보냈더니, request is not defined 에러가 자꾸 발생했다.

아무리 봐도 잘 보냈고, 데이터를 바인딩하지만 않으면 에러가 나지않아서 삽질을 해본끝에

const express = require("express");
const app = express();
const api = require("./routes/index");
const user = require("./routes/user");

const port = 3002;
const cors = require("cors");


//서버가 실행되면 mariaDB 연결
const maria = require("./routes/mariraDB");
maria.connect();

//.cors에러 해결
app.use(cors());


//경로
app.use("/api", api);
app.use("/user", user);

app.listen(port, () => console.log(`Listening on port ${port}`));

아래와 같이 body-parser을 사용한다고 선언해줘야 req 든 res든 데이터가 전달된다는것을 알 수 있었다.!

const express = require("express");
const app = express();
const api = require("./routes/index");
const user = require("./routes/user");

const port = 3002;
const cors = require("cors");
let bodyParser = require("body-parser");

//서버가 실행되면 mariaDB 연결
const maria = require("./routes/mariraDB");
maria.connect();

//.cors에러 해결
app.use(cors());
// req, res에서 body를 사용하기 위해서 우선순위 제일 위에
app.use(bodyParser.json());
//app.use(express.json());

//경로
app.use("/api", api);
app.use("/user", user);

app.listen(port, () => console.log(`Listening on port ${port}`));

참고로 최신 버전의 Express를 사용하면 body-parser를 따로 사용하지 않고 아래의 코드로 대체 가능하다.

app.use(express.json());

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함