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

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

(26개의 수강평)

3000명의 수강생

무료

평생
중급
수료증
30개 수업, 총 4시간 27분
Mr. Leo 프로필

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

/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 김수진 4달 전

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

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

1
정민석 프로필

cross origin (?) 에러 가 납니다. 정민석 10달 전

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을 어떻게 하나요?

0
최선필 프로필

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
yj na 프로필

nodejs와 mysql 연동 에러 yj na 9달 전

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 연동 에러를 해결할 수 있을까요? 도움주시면 정말 감사하겠습니다. ㅜㅜ

6
Tay 프로필

ajax script error Tay 2017.10.10
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. 버튼을 클릭하면 위에 에러를 보게 됩니다. 어떻게 처리하면될가여?

0
(주)넥스트이노베이터 프로필

express 를 이용하여 웹서버를 구성하였을 경우 사용자가 url에 직접 타이핑 할 경우..? (주)넥스트이노베이터 2017.08.22
안녕하세요. nodejs를 이용한 백엔드 프로그래밍에 대해서 잘 보고 있습니다. 다름이 아니라 express서버를 사용하여 웹서버 구성 시 질문과 같이 이용자가 메인페이지를 거치지 않고 직접 타이핑하여 중간으로 진입하였을경우  어떻게 차단이 가능한지요? ex)   login.ejs에서 로그인한 사용자만 서비스 이용이 가능해야 하는데        localhost:3000/service/list  를 직접 타이핑하여 진입 할 경우 차단 방법이 있는지요?

0