💰 포인트 기능 오픈 💰
Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해

Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해

(50개의 수강평)

4357명의 수강생
무료
지식공유자 · 윤지수
30회 수업· 총 4시간 27분수업
평생 무제한 시청
수료증 발급 강의
수강 난이도 중급
묭묭묭 프로필

mysql 설치및 설정방법 묭묭묭 1달 전

원래 이 강의에는 없는 내용인가요? mysql 강좌에서 막혀서 진행이 안 되네요

0
bae7359721 프로필

form 에서 보낸게 서버측에서 읽지 못합니다.. bae7359721 1달 전

TypeError: Cannot read property 'email' of undefined 이런에러뜨네요.

form에서 제출한것을 처리를 못하는듯한데.. 

코드 정말 오타하나없이 똑같습니다.. 이유가 있을까요

0
bae7359721 프로필

Cannot read property 'email' of undefined bae7359721 1달 전

Cannot read property 'email' of undefined

이 오류 저만뜨나여 ..ㅠ

0
pykoook 프로필

movie/list 화면의 css소스 부탁드립니다. pykoook 1달 전

안녕하세요.

movie/list 화면의 css소스 부탁드립니다.

0
pykoook 프로필

mysql연동 에러입니다. pykoook 2달 전

mysql8.0버젼입니다.

(db명 : jsman, 테이블 : user, 패스워드 : 1234)

1
pykoook 프로필

Ajaxsend버튼 실행시 에러_해당 소스추가로 올립니다. pykoook 2달 전

[소스명 : form.html]

<!doctype html>

<html>

  <head>

      <meta charset="utf-8">

      <title>email form</title>

  </head>

  <body>

    <form action="/email_post" method="post">

      email : <input type="text" name="email"><br/>

      <input type="submit">

    </form>

    <button class="ajaxsend">ajaxsend</button>

    <div class="result"></div>

    <script>

      document.querySelector('.ajaxsend').addEventListener('click',function() {

        var inputdata = document.forms[0].elements[0].value;

        sendAjax('http://127.0.0.1:3000/ajax_send_email', inputdata);

      })

      function sendAjax(url, data) {

        var data = {'email' : data};

        data = JSON.stringify(data);

        var xhr = new XMLHttpRequest();

        xhr.open('POST',url);

        xhr.setRequestHeader('Content-Type', "application/json");

        xhr.send(data);

        xhr.addEventListener('load', function() {

          console.log(xhr.responseText);

      //  var result = xhr.responseText;

          var result = JSON.parse(xhr.responseText);

      // document.querySelector(".result").innerHTML="dsfds";

          if(result.result !== "ok") return;

          document.querySelector(".result").innerHTML=result.email;

        });

      }

    </script>

  </body>

</html>

================

[소스명 : app.js]

var express = require('express')

var app = express()

var bodyParser = require('body-parser')

var cors = require('cors')

app.listen(3000, function() {

console.log("start, express server on port 3000");

});

app.use(express.static('public'))

app.use(bodyParser.json())

app.use(bodyParser.urlencoded({extended:true}))

app.set('view engine', 'ejs')

app.use(cors())

//url routing

app.get('/', function(req,res) {

  console.log('test');

  res.sendFile(__dirname+"/public/main.html")

});

app.get('/main', function(req,res) {

  res.sendFile(__dirname+"/public/main.html")

})

app.post('/email_post', function(req,res) {

  console.log(req.body.email)

//  res.send("post response")

//res.send("<h1>welcome " + req.body.email + "</h1>")

res.render('email.ejs', {'email' : req.body.email})

})

app.post('/ajax_send_email', function(req, res) {

console.log(req.body.email)

var responsData = {'result' : 'ok', 'email' : req.body.email};

res.json(responseData);

})

=================

[커멘트창에서 에러화면입니다]

pykoook@naver.com

ReferenceError: responseData is not defined

    at C:\users\kosmo\server-side-script\app.js:37:11

    at Layer.handle [as handle_request] (C:\users\kosmo\server-side-script\node_modules\express\lib\router\layer.js:95:5)

    at next (C:\users\kosmo\server-side-script\node_modules\express\lib\router\route.js:137:13)

    at Route.dispatch (C:\users\kosmo\server-side-script\node_modules\express\lib\router\route.js:112:3)

    at Layer.handle [as handle_request] (C:\users\kosmo\server-side-script\node_modules\express\lib\router\layer.js:95:5)

    at C:\users\kosmo\server-side-script\node_modules\express\lib\router\index.js:281:22

    at Function.process_params (C:\users\kosmo\server-side-script\node_modules\express\lib\router\index.js:335:12)

    at next (C:\users\kosmo\server-side-script\node_modules\express\lib\router\index.js:275:10)

    at cors (C:\users\kosmo\server-side-script\node_modules\cors\lib\index.js:188:7)

    at C:\users\kosmo\server-side-script\node_modules\cors\lib\index.js:224:17

pykoook@naver.com

ReferenceError: responseData is not defined

    at C:\users\kosmo\server-side-script\app.js:37:11

    at Layer.handle [as handle_request] (C:\users\kosmo\server-side-script\node_modules\express\lib\router\layer.js:95:5)

    at next (C:\users\kosmo\server-side-script\node_modules\express\lib\router\route.js:137:13)

    at Route.dispatch (C:\users\kosmo\server-side-script\node_modules\express\lib\router\route.js:112:3)

    at Layer.handle [as handle_request] (C:\users\kosmo\server-side-script\node_modules\express\lib\router\layer.js:95:5)

    at C:\users\kosmo\server-side-script\node_modules\express\lib\router\index.js:281:22

    at Function.process_params (C:\users\kosmo\server-side-script\node_modules\express\lib\router\index.js:335:12)

    at next (C:\users\kosmo\server-side-script\node_modules\express\lib\router\index.js:275:10)

    at cors (C:\users\kosmo\server-side-script\node_modules\cors\lib\index.js:188:7)

    at C:\users\kosmo\server-side-script\node_modules\cors\lib\index.js:224:17

pykoook@naver.com

ReferenceError: responseData is not defined

    at C:\users\kosmo\server-side-script\app.js:37:11

    at Layer.handle [as handle_request] (C:\users\kosmo\server-side-script\node_modules\express\lib\router\layer.js:95:5)

    at next (C:\users\kosmo\server-side-script\node_modules\express\lib\router\route.js:137:13)

    at Route.dispatch (C:\users\kosmo\server-side-script\node_modules\express\lib\router\route.js:112:3)

    at Layer.handle [as handle_request] (C:\users\kosmo\server-side-script\node_modules\express\lib\router\layer.js:95:5)

    at C:\users\kosmo\server-side-script\node_modules\express\lib\router\index.js:281:22

    at Function.process_params (C:\users\kosmo\server-side-script\node_modules\express\lib\router\index.js:335:12)

    at next (C:\users\kosmo\server-side-script\node_modules\express\lib\router\index.js:275:10)

    at cors (C:\users\kosmo\server-side-script\node_modules\cors\lib\index.js:188:7)

    at C:\users\kosmo\server-side-script\node_modules\cors\lib\index.js:224:17

1
pykoook 프로필

Ajaxsend 버튼 실행오류관련 문의드립니다. pykoook 2달 전

1
오소리 Osori beatbox 프로필

network status가 200이 아니라 304가 뜨는데 왜 그런걸까요? 오소리 Osori beatbox 4달 전

network status가 200이 아니라 304가 뜨는데 왜 그런걸까요?

1
Zisoo Zzoi 프로필

DB에 새로운 계정으로 입력해도 id가 계속 0입니다T_T; (증가하지 않음) Zisoo Zzoi 5달 전

 
//join.js
passport.serializeUser((userdone)=>{
    console.log('passport session saved:'user)
    done(nulluser// <- used deserialze for first arg
})

passport.deserializeUser((userdone)=>{
    console.log('passport session get id:'user)
    done(nulluser//
})

 passport.use('local-join'new LocalStrategy({
     usernameField: 'email',    // *form 의 input name과 일치해야함 
     passwordField: 'password'// *form 의 input name과 일치해야함 
     passReqToCallback: true,
 }, function(reqemailpassworddone){
     // 인증 처리 DB 접속 row 존재 여부 조회 등...
     const query = connection.query('select * from user where email=?', [email], (err,rows)=>{
         if(errreturn done(err);
         if(rows.length){
             console.log('your email is already exist')
             return done(nullfalse, {message: 'your email is already used'})
         }else{
             //insert
             const sql = {email: emailpassword: password};
             const query = connection.query('insert into user set ?'sql, (err,rows)=>{
                 if(errthrow err
                 return done(null, {'email': email'id': rows.insertId}) //session에 담을 정보를 넣을수있음 -> serialize 하지 않으면 에러 발생 
             })
         }
     })
 }))
[Terminal]
Listening on the port 3001 passport session saved: { email: 'hello@gmail.com', id: 0 } passport session get id: { email: 'hello@gmail.com', id: 0 } main.js loaded: { email: 'hello@gmail.com', id: 0 } passport session get id: { email: 'hello@gmail.com', id: 0 }

1
앨리스 프로필

db에 데이터 추가하기에서 rows.insertId에 0만 나옵니다 앨리스 5달 전

db에 데이터 추가할때 자동으로 번호가 붙지 않네요.

자동으로 번호가 붙는 컬럼 어떻게 추가해야 할까요?

1
Mr. Leo 프로필

Ajax 구현부분 질문입니다.(중간체크 진행중 발생, 검색창만들기) Mr. Leo 8달 전

/html의 내부 script.

async function sendAjax (url, data){
       var data = {"search" : data}  //넘겨주는 data값 
       var dataInfo1 = {
                method : "POST",  //메소드 반드시 지정해줘야 app.js 파일에서 찾을수 있음.
                body : JSON.stringify(data),
                headers : {
                    "Content-Type" : "application/json"
                }
            };

        const res = await fetch(url, dataInfo1);    
        const result = await res.json();

        console.log(result);
        if(result.result === "ok"){
                console.log("2", result.search)
                document.querySelector(".showSearch").innerHTML = result.search;
        }
   }

위의 넘겨주는 data의 key 값을 "search-value" 로 변경하고 아래 주석처리한 값이 undefind으로 뜹니다(console.log("1",req.body."search-value"); //undefind)

//<app.js>

app.post('/search', (req, res)=>{
    // console.log("1",req.body."search-value"); //undefind
    console.log(req.body);
    var responseData1 = {'result' : 'ok', 'search' : req.body.search};
    res.json(responseData1);
})

responseData1의 두번째 키 값인 'search-value'로 하면 undefind으로 계속가져와서 결국 키값을 search로 바꿨는데요..

AJAX 통신할때 보내는 데이터의 키값을 작성해야하는 규칙이 있는건가요? 

1
김수진 프로필

TypeError: req.flash is not a function 김수진 10달 전

이 에러가 계속떠서 에러위치 찾아보니깐 req.flash사용한 부분에서 에러가 나는데

필요한 모듈설치와 미들웨어 설정도 했는데 왜이런가요?

1
정민석 프로필

cross origin (?) 에러 가 납니다. 정민석 2018.11.02

Access to XMLHttpRequest at 'http://127.0.0.1:3000/login' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

localhost로 접속했을 경우 이런 오류가 납니다.

127.0.0.1로 접속하면 해결되긴하는데 , 왜 이런 에러가 나는건가요?

또 어떻게 고칠까요

1
최선필 프로필

mysql uid 최선필 2018.06.28

강사님 강의를 보면 UID 값이 임의로 저장이 되는데 저같은 경우 테이블에 UID 항목도 없을 뿐만 아니라, rows.insertId 를 하게되면 0 으로만 나오는데 강사님처럼 mysql을 어떻게 하나요?

1
최선필 프로필

innerHTML 최선필 2018.07.10

Uncaught TypeError: Cannot set property 'innerHTML' of null

at XMLHttpRequest. (form.html:30)

(anonymous) @ form.html:30

load (async)

sendAjax @ form.html:27

(anonymous) @ form.html:17

이런 오류가 나는데 어떤게 문제 일까요?

코드는 아래와 같습니다

<!doctype html>

email form

email:

ajaxsend

document.querySelector('.ajaxsend').addEventListener('click',function(){

var inputdata = document.forms[0].elements[0].value;

sendAjax('http://127.0.0.1:3000/ajax_send_email',inputdata);

})

function sendAjax(url, data){

var data = {'email' : data};

data = JSON.stringify(data);

var xhr = new XMLHttpRequest();

xhr.open('POST',url);

xhr.setRequestHeader('Content-Type',"application/json");

xhr.send(data);

xhr.addEventListener('load',function(){

var result = JSON.parse(xhr.responseText);

if(result.result != "ok")return;

document.querySelector(".result").innerHTML = result.email;

});

}

1
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스