반응형
node.js에서 url을 파싱하여 메타데이터(쿼리스트링)을 읽어오는 방법은 아래와 같습니다.
(전제조건 : 코드 상에서 웹서버가 구현되어 있어야함)
// node js의 모듈 중 url 모듈을 사용하겠다.
var url = require('url');
// 메타데이터가 queryData에 객체형식으로 담겨지게 됌.
var queryData = url.parse(_url, true).query; //_url변수에는 주소가 담겨있음
ex) 'http://site.com/?id=hevton&job=dev'
-> queryData = { id: ’hevton’, job: ’dev’ }
cosole.log(queryData.id) -> hevton
해당 방법을 웹서버 구축 코드가 적용된 코드에 실습하면
var http = require('http');
var fs = require('fs');
var url = require('url');
var app = http.createServer(function(request,response){
var _url = request.url;
var queryData = url.parse(_url, true).query;
if(_url == '/'){
_url = '/index.html';
}
if(_url == '/favicon.ico'){
response.writeHead(404);
response.end();
return;
}
response.writeHead(200);
response.end(queryData.id);
});
app.listen(3000);
http://주소/해당파일?id=hello
라고 입력하여 접속하면, hello가 페이지에 출력되게 된다.
ps.
서버까지 구현된 예제를 통해 queryData에 어떻게 값이 들어가는지 확실하게 보여주겠다
var http = require('http');
var fs = require('fs');
var url = require('url');
var app = http.createServer(function(request,response){
var _url = request.url;
var queryData = url.parse(_url, true).query;
console.log(queryData);
if(_url == '/'){
_url = '/index.html';
}
if(_url == '/favicon.ico'){
response.writeHead(404);
response.end();
return;
}
response.writeHead(200);
response.end();
});
app.listen(3000);
queryData 변수 선언문 아래에 console.log를 통해 queryData에 어떤 값이 출력되는지 출력해봤다.
그리고 주소창에
http://주소/해당파일?id=hevton&job=dev 을 입력했을때 콘솔창엔 아래와 같이 출력된다.
{ id: 'hevton', job: 'dev' }
수업 자료의 출처는 opentutorials.org 의 이고잉님 이십니다. 감사합니다.
반응형
'[웹]' 카테고리의 다른 글
[Node.js] 콘솔에서의 입력 인자 (0) | 2020.09.29 |
---|---|
[Node.js] 파일 읽기 / 쓰기 (0) | 2020.09.29 |
[JavaScript] Template Literal (0) | 2020.09.29 |
[Node.js] Node.js (0) | 2020.09.28 |
[JavaScript] 간단 정리 (0) | 2020.09.24 |