기본 콘텐츠로 건너뛰기

[Nodejs] get, post방식 간단정리 + ajax + DB

[Nodejs] get, post방식 간단정리 + ajax + DB

뷰엔진을 사용안했을 때

import express from "express"; const app = express(); // express import bodyParser from "body-parser"; // var bodyParser = require('body-parser') //서버구동 app.listen(3000, function() { console.log("express server start on port 3000"); }); //app.use 사용 //static 디렉토리 설정 //public이란 디렉토리에 html(뷰)만들었을 경우 자동으로 해당위치의 url로 접근하면 해당파일을 띄워줌(일일히 매매번 url 설정 귀찮을을때 유용) app.use(express.static('public')) app.use(bodyParser.json({extended: true})); //사용자가 웹사이트로 전달하는 정보들을 검사하는 미들웨어 app.use(bodyParser.urlencoded({extended: true})); //json이 아닌 post형식으로올때 파서 //get방식 (위에 static 디렉토리도 설정했으므로 이 밑 코드가없어도 해당 url로 접근하면 뷰를 띄워줄수는 있다. //하지만 다른 로직 작성 불가 app.get('/', function(req, res){ //get res.sendFile(__dirname + '/public/main.html') //해당 main.html띄워줌 }); //get방식 app.get('/main', function(req,res){ res.sendFile(__dirname + '/public/main.html') }); //post방식 app.post('/email_post', function(req, res){ console.log(req.body.email) //bodyParser 모듈 사용한 예, post방식으로 보낸 body에서 email 값 추출가능 res.send("hello " +req.body.email + "") //화면에 출력 }

(권장)

EJS 뷰템플릿엔진 사용했을 때 ,또는 pug도 있음

1. 설치방법 npm install ejs --save //// npm install pug --save

둘다 설치만 다르지 사용방법은 비슷한 것 같으므로 처음 배웠던 pug를 이용하도록 하겠음.

2. app.set("view engine", "pug"); //pug는 뷰엔진이다.

3. 뷰파일 생성할때 확장자 .ejs , .pug 붙이면됨

동적으로 바뀔것은 <% = email %> 이런식으로함 pug에서는 #{email}

또한 pug는 밑과 같이 태그 생략가능

doctype html html head link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.5.0/css/all.css" integrity="sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU", crossorigin="anonymous") title #{pageTitle} | #{siteName} body include ../partials/header main block content

뷰엔진을 사용해서 sendFile이 아닌 render()를 통해 데이터와 html을 결합한 상태로 클라이언트에 보여줄 때 사용할때 필요하다.

마지막으로 뷰엔진을 사용한 render는 다음과같다. (email 값을 전달해줘서 html과 전달해준 데이터를 결합해서 뷰를 띄워준다.

+)여기서 __dirname은 현재경로를 의미한다.

email_post로 전송하는 form

ajax처리

ajax요청 처리

데이터베이스 연결 (참고 => 프로젝트에 mysql이 설치된 상태이고 jsman데이터베이스에 email컬럼을 가진 user테이블을 만들어둔 상태다)

노드에 mysql을 사용할려면 npm install mysql --save

view

요청처리

다른 언어와비슷하다. 쿼리문을 작성후 rows로 해당컬럼을 갖고올 수 있다. 그리고 json형태로 응답을 보내준다.

출처 및 참고 : https://www.inflearn.com/course/node-js-%EC%9B%B9%EA%B0%9C%EB%B0%9C/lecture/6124

from http://youngest-programming.tistory.com/114 by ccl(S) rewrite - 2020-03-06 09:20:36

댓글

이 블로그의 인기 게시물

[020] 파동함수를 쓰기

[020] 파동함수를 쓰기 [020] 파동함수를 쓰기 [020] 파동함수를 알면 우리가 원하는 뭔가를 알 수 있다고 했는데, 정작 파동을 함수로 쓰는 것은 아직 다루지 않았고, 양자역학 내용을 좀 더 진행하려면 왜 파동이 삼각함수로 써 지는지를 한번은 정리를 해야겠다. 수학이 많이 나올 예정이다. 앞에서 파동함수를 아래 형태로 쓸 수 있다고 했었는데, 왜 이런 형태가 되는지 알아보자. [020-01] 파동함수 사인파의 일반형은 코사인 (cos) 을 이용해 쓰지만, 사인 (sin) 과 코사인은 위상차이만 있는 함수들이고, 우리는 앞으로 사인을 이용해 문제를 풀 예정이라 사인을 이용하기로 한다. 파동함수는 양자역학에서 갑자기 나온 말이 아니고, 원래 파동을 함수의 형태로 쓴 것을 파동함수라고 부른다. 파동-입자 이중성을 가지니까 기존에 파동을 함수의 형태로 쓰던 그 모양을 가져다 쓴 것. 주교재의 16장에 있는 내용이다. [020-02] 펄스 - Pulse 아래와 같이 하나의 진동이 왼쪽에서 오른쪽으로 진행하는 상황을 생각해보자. 시간 t 일 때, 위치 x 의 밧줄의 높이를 y 라 하고, 셋의 관계를 기호로 쓰면, 그러면 아래의 관계가 성립한다. 이게 무슨말이냐면, 시간 t 일 때 위치 x 의 밧줄의 높이 와 시간 0 일 때 위치 x-vt 의 밧줄의 높이가 같다 는 말인데, 그림으로 보면, 왼쪽은 시간 0, 오른쪽은 시간 t 이고, t 일 때 P 의 높이와 0 일 때 높이가 같다는 것. [020-03] 파동을 식으로 써보자. 아래의 파동을 보자. 지금 내용부터는 사인이든 코사인이든 상관없는데, 위 그림이 사인이니까 아래의 식 으로 쓸 수 있다. A는 진폭이고, 주기, 진동수, 파장 같은 값을 아직 모르니까 a 는 아직 정해지지 않은 값 이다. 일반적으로 알고있는 삼각함수는 가로축이 각도 이지만, 우리는 공간을 진행하고 있는 파동을 다루니까 위의 형태로 써진다고 생각하자. x=0 에서 진폭이 ...

(주)편두리 채용 정보: PYUNDOORI에서 핫한 개발자분들을 모십니다.

(주)편두리 채용 정보: PYUNDOORI에서 핫한 개발자분들을 모십니다. - 좋아요 아래와 같은 업무를 훌륭히 감당하실 분을 모십니다.서비스 관련 DB 모델링, DB 최적화 작업서버 & DB 관리Frontend & Backend 인터페이스의 최적화 작업 화합과 성장을 같이! - Angular JS의 경험 - Node.js - javascript 능숙자 - DRMS 사용 능숙자 더 많은 내용은 더 많은 내용은 더팀스 에서 확인하세요! from http://theteams.tistory.com/742 by ccl(A) rewrite - 2020-03-22 12:20:20