일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 출처 : https://joshua1988.github.io/web-development/javascript/promise-for-beginners/
- 출처 : https://webdir.tistory.com/506
- object
- http://jeonghwan-kim.github.io/dev/2019/06/25/react-ts.html
- toString
- 게시판
- https://velog.io/@velopert/create-typescript-react-component
Archives
- Today
- Total
Back Ground
NodeJS - Request [ES5] 본문
Request (요청)
웹으로 부터 요청 받은 Request를 이용한다.
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 32 33 34 35 36 37 | var http = require('http'), express = require('express'); var app = express(); app.use('test',function(req,res,next){ console.log("미들웨어 1"); var userAgent = req.header('User-Agent'); var pName = req.query.name; var age = req.query.age; var url = 'nomal'; if(age<15) url = 'kids'; res.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}); res.write('userAgent : '+userAgent + '<br>'); res.write('pName : '+pName + '<br>'); res.write('age : '+age +','+url+ '<br>'); let pram = req.query; for(k in pram){ res.write(k +' : '+pram[k]+'<br>'); } res.end(); }); http.createServer(app).listen(3000,function(){ console.log('서버 기동'); }); | cs |
.use('/',function(req,res,next){});' |
[Mapping 경로 , 함수 (요청,응답,다음 use)] |
use의 매개변수중 첫번째 인자로
RequestMapping같이 path를 지정해줄 수 있다.
ex)
1 | .use('/test',function(){}); | cs |
.header는 request에서 Header를 읽는 방법
1 | var userAgent = req.header('User-Agent'); | cs |
반응형때 Agent 정보를 확인하여 처리한다. ( 브라우저 체크 )
query는 Reqest Header를 읽는다.(즉, get과post 둘다 받을 수있다)
1 2 | var pName = req.query.name; var age = req.query.age; | cs |
http://192.168.10.25:3000/?name=aaaa - [ 파라메터를 보내면 aaa가 나온다. ]
Post 방식 중 Request Body에 보내질때
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 32 33 34 35 | var http = require('http') , express = require('express') , static = require('serve-static') , bodyParser = require('body-parser') , path = require('path'); var app = express(); app.use('/public',static(path.join(__dirname, 'public'))); app.use(bodyParser.urlencoded({extended: false})); // /public가 패스를 못 찾으면 이쪽으로간다. app.use(function(req,res,next){ console.log("미들웨어 1"); //post를 먼저 확인 후 get에서 찾는다. var pId = req.body.id || req.query.id; var pPw = req.body.pw || req.query.pw; res.writeHead('200',{"Content-Type":"text/html; charset=utf-8"}); res.write('post 이다 : '+ '<br>'); res.write('ID : '+pId+ '<br>'); res.write('PW : '+pPw+ '<br>'); res.write('<a href="public/login.html">로그인</a>'); res.end(); }); http.createServer(app).listen(3000,function(){ console.log('서버 기동'); }); | cs |
bodyParser = require('body-parser')
- Requst Body를 사용하기 위해 body-parser를 이용하여 파싱 해야 한다.
app.use(bodyParser.urlencoded({extended: false}));
- body-parser를 사용하겠다는 모듈
Request.body.key를 가져오면 되는데
1 2 3 4 | use(function(req,res,next){ var pId = req.body.id || req.query.id; var pPw = req.body.pw || req.query.pw; | cs |
이렇게 만약 body에 없을수 있다는걸 방지하기 위해
우선 body에서 찾은 후 header에서 찾아오기 만든다.
'Javascript > Node.js' 카테고리의 다른 글
NodeJS - Router 사용해 요청 라우팅하기 [ES5] (0) | 2018.10.07 |
---|---|
NodeJS - Static [ES5] (0) | 2018.10.07 |
NodeJS - Express의 요청 객체와 응답 객체 [ES5] (0) | 2018.09.20 |
NodeJS - Express모듈 서버 만들기 [ES5] (0) | 2018.09.18 |
NodeJS - 클라이언트로 응답을 보내는 방식 [ES5] (0) | 2018.09.18 |
Comments