수강이 제한됩니다.
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
mysql 설치및 설정방법
원래 이 강의에는 없는 내용인가요? mysql 강좌에서 막혀서 진행이 안 되네요
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
form 에서 보낸게 서버측에서 읽지 못합니다..
TypeError: Cannot read property 'email' of undefined 이런에러뜨네요. form에서 제출한것을 처리를 못하는듯한데.. 코드 정말 오타하나없이 똑같습니다.. 이유가 있을까요
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
Cannot read property 'email' of undefined
Cannot read property 'email' of undefined 이 오류 저만뜨나여 ..ㅠ
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
movie/list 화면의 css소스 부탁드립니다.
안녕하세요. movie/list 화면의 css소스 부탁드립니다.
- 해결됨Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
mysql연동 에러입니다.
mysql8.0버젼입니다. (db명 : jsman, 테이블 : user, 패스워드 : 1234)
- 해결됨Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
Ajaxsend버튼 실행시 에러_해당 소스추가로 올립니다.
[소스명 : 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
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
Ajaxsend 버튼 실행오류관련 문의드립니다.
(사진)
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
network status가 200이 아니라 304가 뜨는데 왜 그런걸까요?
network status가 200이 아니라 304가 뜨는데 왜 그런걸까요?
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
DB에 새로운 계정으로 입력해도 id가 계속 0입니다T_T; (증가하지 않음)
//join.js passport.serializeUser((user, done)=>{ console.log('passport session saved:', user) done(null, user) // <- used deserialze for first arg }) passport.deserializeUser((user, done)=>{ console.log('passport session get id:', user) done(null, user) // }) passport.use('local-join', new LocalStrategy({ usernameField: 'email', // *form 의 input name과 일치해야함 passwordField: 'password', // *form 의 input name과 일치해야함 passReqToCallback: true, }, function(req, email, password, done){ // 인증 처리 DB 접속 row 존재 여부 조회 등... const query = connection.query('select * from user where email=?', [email], (err,rows)=>{ if(err) return done(err); if(rows.length){ console.log('your email is already exist') return done(null, false, {message: 'your email is already used'}) }else{ //insert const sql = {email: email, password: password}; const query = connection.query('insert into user set ?', sql, (err,rows)=>{ if(err) throw 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 }
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
db에 데이터 추가하기에서 rows.insertId에 0만 나옵니다
db에 데이터 추가할때 자동으로 번호가 붙지 않네요. 자동으로 번호가 붙는 컬럼 어떻게 추가해야 할까요?
- 해결됨Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
Ajax 구현부분 질문입니다.(중간체크 진행중 발생, 검색창만들기)
/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 통신할때 보내는 데이터의 키값을 작성해야하는 규칙이 있는건가요?
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
TypeError: req.flash is not a function
이 에러가 계속떠서 에러위치 찾아보니깐 req.flash사용한 부분에서 에러가 나는데 필요한 모듈설치와 미들웨어 설정도 했는데 왜이런가요?
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
cross origin (?) 에러 가 납니다.
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로 접속하면 해결되긴하는데 , 왜 이런 에러가 나는건가요?또 어떻게 고칠까요
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
mysql uid
강사님 강의를 보면 UID 값이 임의로 저장이 되는데 저같은 경우 테이블에 UID 항목도 없을 뿐만 아니라, rows.insertId 를 하게되면 0 으로만 나오는데 강사님처럼 mysql을 어떻게 하나요?
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
innerHTML
Uncaught TypeError: Cannot set property 'innerHTML' of nullat XMLHttpRequest. (form.html:30)(anonymous) @ form.html:30load (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; }); }
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
nodejs와 mysql 연동 에러
Connection.connect(); 를 추가한 후 저장하면 다음과 같은 에러가 뜹니다. Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client 해결책을 검색해 다음을 입력해보니, use mysql; update user set authentication_string=password(''), plugin='mysql_native_password' where user='root'; FLUSH PRIVILEGES; 다음과 같은 에러가 자꾸 나타나면서 해결을 못하고 있습니다.: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(''), plugin='mysql_native_password' where user='root'' at line 1 어떻게 하면 mysql 연동 에러를 해결할 수 있을까요? 도움주시면 정말 감사하겠습니다. ㅜㅜ
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
ajax script error
XMLHttpRequest cannot load http://127.0.0.1:3000/ajax_send_email. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. 버튼을 클릭하면 위에 에러를 보게 됩니다. 어떻게 처리하면될가여?
- 미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
express 를 이용하여 웹서버를 구성하였을 경우 사용자가 url에 직접 타이핑 할 경우..?
안녕하세요. nodejs를 이용한 백엔드 프로그래밍에 대해서 잘 보고 있습니다. 다름이 아니라 express서버를 사용하여 웹서버 구성 시 질문과 같이 이용자가 메인페이지를 거치지 않고 직접 타이핑하여 중간으로 진입하였을경우 어떻게 차단이 가능한지요? ex) login.ejs에서 로그인한 사용자만 서비스 이용이 가능해야 하는데 localhost:3000/service/list 를 직접 타이핑하여 진입 할 경우 차단 방법이 있는지요?