수강이 제한됩니다.
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
c오류 같은데,, 실행이 안돼요
코드를 동일하게 작성한 것 같은데 자꾸 오류가 나네요.. response에도 뜨지 않고 ajaxsend 버튼을 눌러도 밑에 result가 뜨지 않아요 그래서 form.html에서 xhr 정보를 console.log로 찍어봤는데요 다 비어있어요... 어쩌면 좋을까요? network에는 pending인 상태로 뜨네요 전체 코드는 아래에 첨부합니다 <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://localhost:3000/ajax_send_email', inputdata); }) function sendAjax(url, data){ var data = {'email' : data}; data = JSON.stringify(data); // 문자열로 반환 console.log(data); var xhr = new XMLHttpRequest(); xhr.open('POST', url, true); xhr.setRequestHeader('Content-Type', "application/json"); xhr.send(data); console.log(xhr.response); console.log(xhr.responseText); console.log(xhr.responseType); console.log(xhr.responseURL); console.log(xhr.responseXML); console.log('readystate : ' + xhr.readyState); console.log('status : ' + xhr.status); console.log('statusText : ' + xhr.statusText); xhr.addEventListener('load', function() { console.log(xhr.responseText); var result=JSON.parse(xhr.responseText); // 문자열이니까 JSON.parse var resultDiv = document.querySelector(".result"); if(result.result !=="ok") resultDiv.innerHTML="your email is not found"; else resultDiv.innerHTML=result.name; }) } </script> </body> </html> <app.js> app.post('/ajax_send_email', function(req, res) { var email = req.body.email; var responseData = {}; var query = connection.query( 'select name from user where email="'+ email + '"', function (err, rows) { if(err) throw err; if(rows[0]){ // 첫번째 data 있으면 responseData.result = "ok"; responseData.name = rows[0].name; } else{ responseData.result = "none"; responseData.name = ""; } res.json(responseData) }) })
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
Error: Failed to deserialize user out of session
join에서 이메일 , 비밀번호 치고 >http://127.0.0.1:3000/main main으로 넘어가면 제목같은 에러가 뜨네요 ..여기까지왓는데 포기해야하나..하 제발 고수님들..
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
넌적스 for 문 질문
넌적스에서 for문을 사용해서 게시글을 받아와 리스트 형식으로 출력하려고 하는데 for 문을 어떤식으로 써야할지 모르겠습니다 Help me plz ㅠㅠ
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
deserializeUser가 호출이 되지 않습니다. undefined문제
안녕하세요, nodejs를 이 강의로 학습하고 있는 학생입니다. 이 영상을 보고 따라했는데 제 컴퓨터에서 deserializeUser가 호출되지 않고 그에 따라서 main.js가 컴퓨터 network에서 404를 나타내며 user에 값을 담아내지 못하고 있었습니다 소스코드는 다음과 같습니다. 그리고 결과값은 아래처럼 나왔습니다. 인터넷에서는 cookie secure를 false로 하면 해결할 수 있다그래서 시도해보았는데 잘 모르겠어서 이렇게 글을 올립니다 감사합니다. // 결과값입니다. get join url Session { cookie: { path: '/', _expires: null, originalMaxAge: null, httpOnly: true }, flash: {} } 47 passport session save : 47 { email: '1234ㄹa', id: 47 } main js loaded undefined Session { cookie: { path: '/', _expires: null, originalMaxAge: null, httpOnly: true }, flash: {}, passport: { user: 47 } } //여기 아래가 소스코드입니다 router.get('/', function(req, res){ var msg; var errMsg = req.flash('error') if(errMsg) msg = errMsg; console.log('get join url'); console.log(req.session) res.render('join.ejs', {'message' : msg}); }) passport.serializeUser(function(user, done){ console.log('passport session save : ', user.id); console.log(user); done(null, user.id); }) passport.deserializeUser(function(id, done){ console.log('passport session get id data: '); done(null, id); }) passport.use('local-join', new LocalStrategy ( { usernameField: 'email', passwordField: 'password', passReqToCallback : true }, function(req, email, password, done) { var query = connection.query('SELECT * FROM user WHERE EMAIL = ?', [email], function(err, rows) { if(err) return done(err); if(rows.length) { console.log('existed user'); return done(null, false, {message : 'your email is already used'}) } else { var sql = {email: email, name: 'hi', pw: password}; var query = connection.query('INSERT INTO user SET ?', sql, function(err, rows) { if(err) throw err; return done(null, {'email' : email, 'id' : rows.insertId}); }) } }) } )); //passport routing 처리 router.post('/', passport.authenticate('local-join', { successRedirect: 'main', failureRedirect: 'join', failureFlash: true })); module.exports = router;
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
Users 테이블을 만드는 sql 명령어를 좀
알려 주실 수 있을까요?
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
점점 사운드가 낮아지네여 ㅋㅋㅋㅋㅋ
전 강의에서는 적당했는데.. 갑자기 사운드가... 진짜.. 강의가 문제가 많네요 정주행 다하면 다른거 봐야겠음..
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
쿼리 날릴때 불필요한게 있네요
쿼리 날릴때 "'+email'" 이렇게 하면 인젝션 공격 받는데 이스케이프로 하던지 아니면 ? 표시 주면서 처리 해야된다 들었는데.. 왜 저렇게 쓰는걸까요..
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
바디 파서로 값이 들어올때
바디 파서로 값이 들어올때 제이슨형태나 인코딩으로 꼭 받아와야하나요? 왜 형식을 저렇게 써야되나요?
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
npm nodemon 관련 에러
vscode를 사용하고 있는데, $ npm uninstall nodemon npm ERR! code ELOOP npm ERR! syscall open npm ERR! path D:\WorkSpace_OrangeDigit\test1\node_modules\nodemon\npm-shrinkwrap.json npm ERR! errno -4067 npm ERR! ELOOP: too many symbolic links encountered, open 'D:\WorkSpace_OrangeDigit\test1\node_modules\nodemon\npm-shrinkwrap.json' 이런 에러가 나면 어떤 방법을 써야되나요..? ㅠㅠ
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
어.... 소스코드를 어디서 찾을수 있을까요?
오늘보고 내일일어나서 보고 하니까 자꾸 흐름이 끊겨서 전반적으로 보이질 않네요. 참고해봐가면서 이전에는 여기까지 했었지 하면 좋으련만...
- 해결됨Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
consloe.log 가 찍히지 않음
예제와 동일하게 한것 같은데 passwport.use 함수 내 function 에서 Log 가 실행 안됩니다. app.js index.js
- 해결됨Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
form.html:1 Access to XMLHttpRequest at 요런 요류
form.html:1 Access to XMLHttpRequest at 'http://localhost:3000/ajax_send_email' from origin 'http://127.0.0.1:3000' has been blocked by CORS policy: 위와 같은 오류가 나는 경우 form.html 에서 sendAjax 함수에 URL 요청을 http://localhost:3000... 로 되어있는데 브라우저에서는 http://127.0.0.1:3000... 으로 접속해서 나오는 문제 입니다. 아래 해결법을 체크해 보세요 1) '/' 이후 주소만 넣는다. sendAjax('/ajax_send_email', inputdata); 이렇게 적게되면 localhost로 접속하든 127.0.0.1 (루프백)으로 접속하든 정상적으로 실행 됩니다. 2) 소스에 http://localhost:3000 로 기입했을경우 브라우저 접속시 localhost로 접속한다. http://localhost:3000/form.html 3) 소스에 http://127.0.0.1:3000 로 기입했을경우 브라우저 접속시 localhost로 접속한다. http://127.0.0.1:3000/form.html 아주 간단한거지만 좀 해멨습니다.
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
ejs 사용할 때 에러 나시는 분들 팁
우리 views 폴더를 그냥 크롱님께서 만드셨지만, 실제로는 views를 따로 지정해주어야 하더라구요. 아래처럼 지정해주시면 views 폴더를 인식하는 것 같습니다! app.set("views", path.join(__dirname, "views"));
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
과제 답안
혹시 과제 답안이 있을까요?!
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
모듈을 require하는 기준이 궁금합니다.
mysql 모듈은 email.js로 불러와야 사용할 수 있는데, 왜 bodyparser는 email.js에서 안 불러와도 되는건가요? 오히려 app.js에서 정의해주지 않고, email.js에서만 require해주면 오류가 나는데 그 이유가 무엇인가요?
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
1분20초 부분에서 submit을 눌러도 반응이 없는데 어떤문제일까요???
1분20초 부분에서 submit을 눌러도 반응이 없는데 어떤문제일까요???
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
git 올린 db자료
git에서 올리신 db 내용을 보려고 하는데 404가 뜨네요 혹시 자료를 삭제하시거나 옮기신 건가??
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
ejs를 사용하지 않아도 괜찮은가요?
이전 수업까지 전부 따라하면서 req.body.email를 브라우저에 보내보고 싶어서 위의 사진처럼 해봤는데 브라우저에서 값이 나오더라구여. 그래서 ejs나 퍼그 제이든 등등을 꼭 사용해야하는걸까? 라는 생각이 들더라구여. 혹시 사용하지 않았을때의 단점이 있을까요? 이후의 수업에 지장은 없는건가요?
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
약간 신기한 문제가 발생했습니다.
회원가입을 시도할 때 이메일 주소가 db에 없을 경우 발생한 문제입니다. db에 없는 이메일 주소를 입력하고 제출 버튼을 누른 경우 "passport session save" 메시지는 콘솔에 출력이 됩니다. 그러나 다음 메시지는 출력이 안되고 웹 페이지는 Cannot POST /join이 출력됩니다. 여기서 주소창 "http://localhost:3000/join" 이 내용 중 join을 지우고 main을 확인하기 위해 m을 누르니깐 콘솔창에 "passport session get id" 메시지와 main에서 출력할 내용들이 나타납니다 어떤 문제일까요...ㅠㅠㅠ
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
계속 undefind 가 뜹니다.
input의 value를 확인했을때도 문자열이 콘솔에 찍히지만 버튼을 눌렀을땐 콘솔에 undefind가 찍힙니다.. 계속 추적해봐도 이유를 알수가 없네요 .. ;; 어떤 부분을 확인해 봐야할 지모르겠습니다 ㅠㅠ 어떤부분을 확인해 보면 좋을까요?