Node.js

Node.js - URL로 입력된 값 사용하기

수업소개

URL에 포함된 쿼리 스트링을 해석해서 이용하는 방법을 살펴봅니다. 

 

 

 

URL의 이해

강의

 

 

 

Node.js에서 URL을 통해서 입력된 값을 사용하는 방법

강의

실습하실 때 url 뒤에 ?id= 의 값을 직접 입력해주셔야 오류가 발생하지 않습니다. 

 

 

 

소스코드

main.js

차이점

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.id);
    if(_url == '/'){
      _url = '/index.html';
    }
    if(_url == '/favicon.ico'){
      return response.writeHead(404);
    }
    response.writeHead(200);
    response.end(queryData.id);

});
app.listen(3000);

 

댓글

댓글 본문
작성자
비밀번호
  1. Erin
    fs.readFileSync 를 빼지 않으셨을 것 같습니다.
    대화보기
    • egoing
      전체 오류 코드를 보여주셔야 도움을 드릴 수 있을 것 같습니다.
      대화보기
      • egoing
        처음에는 수동으로 하는 것이 맞고요, 링크를 수정하면 수동으로 할 일이 없어집니다 ㅎㅎ
        대화보기
        • heiditty
          저는 코드가 나타나야 할 부분에 events.js:183 라고 뜨고 있습니다...
        • Gimme_Gsuit
          저도 이고잉님 영상 그대로 따라 했는데 undifined 만 뜨고 뒤에 query string 값이 출력 안되다가 URL 뒷부분에 제가 직접 ?id=HTML로 바꿔서 들어가니깐 이고잉님 처럼 출력 되네요. 혹시 원래 이렇게 수동으로 해야되는지??? 제가 잘 못 이해했는지해서 ㅎㅎ...여쭤봅니다.
        • Jaeyong Um
          var queryData = url.parse(_url, true).query;
          에서의 url이, JS나 node.js 자체에 내장된? 함수 같은 것인가요

          아니면 3번째줄, var url = require('url');의 왼쪽 변수이름 url인가요?
        • egoing
          혹시 제 수업에서 어떤 부분의 정정이 필요한지 알려주실 수 있을까요?
          대화보기
          • spacepublisher
            8.11.3 LTS 버전 기준,

            강의 전반부
            var url = require('url');
            이 코드가 없는 main.js는 확실히 저도 동일한 문제가 있네요.

            하지만, 후반부
            var url = require('url');
            이 코드가 들어온 main.js에서는 또 문제없이 진행이 잘 됩니다.
            참고하시기 바랍니다.
            대화보기
            • JOOYA
              주소표시줄에 http://localhost......TML 이라고 작성해서 엔터를 치면 '사이트에 연결할 수 없음' 으로 나옵니다. 그리고 명령프롬프트에는 http://localhost......TML을 쓰는 순간 에러가 나면서 종료됩니다.
              대화보기
              • moon
                감사합니다.
              • Sungwoong Pyeon
                이번 강의를 통해서 url을 정확히 이해하게되었습니다. 감사합니다.
              • egoing
                _url의 값으로는 어떤 정보가 뜨나요?
                대화보기
                • 정현우
                  저도 지번님이랑 똑같은 문제가 뜨네요 ㅜㅜ localhost주소에 querysting 부분이 안떠서 이고잉님 말씀대로 주소 뒤에 쿼리스트링 부분 ?id=HTML을 따로 추가해하면 cmd창에 error message로 그런 파일이나 디렉토리가 없다고 뜹니다 ㅜㅜ 예제코드를 똑같이 따라 쳐도 queryData.id에 담긴 값이 빈 object로 {}만 출력되네요 ㅜ
                  대화보기
                  • 주소표시줄에 http://localhost:3000 이렇게는 잘 나오는데 http://localhost:3000/?id=HTML 이렇게 하면 사이트에 연결할 수 없다고 나옵니다. 어떻게 해야 강좌처럼 나오나요??
                  • Seo Yun Seok Tudoistube
                    저는, 주소를 바꿔보니까 제대로 나왔습니다.
                    http://localhost......TML
                    감사합니다!
                    대화보기
                    • egoing
                      '저의 경우 /index.html만 나오고 뒤에 쿼리 스트링이 나오지 않습니다'

                      이 부분을 잘 이해를 못했어요.

                      지번님께서 직접 http://localhost......TML 로 접속하면 되지 않나요?

                      :)
                      대화보기
                      • 지번
                        강의 통해서 자바스크립트를 공부하고 있는 1인입니다.
                        10번째 강의 초반에 보면 9번째 강의와 다르게 'id=' 이 부분이 나오는데
                        저의 경우 /index.html만 나오고 뒤에 쿼리 스트링이 나오지 않습니다
                        중간에 log 값을 입력하면 cmd에는 인덱스와 favicon 이것만 출력되고요,
                        강의를 그대로 따라가도 cmd에는 undefined만 나오고요
                        어떻게 해야 쿼리 스트링 값이 나올 수 있을까요?
                      버전 관리
                      egoing
                      현재 버전
                      선택 버전
                      graphittie 자세히 보기