반응형
main.js
else if(pathname === '/author/create_process'){
author.create_process(request,response);
}
lib/author.js
var db = require('./db');
var template = require('./template.js');
var qs = require('querystring');
exports.home = function(request, response){
db.query('SELECT*FROM topic', function(error, topics){
db.query('SELECT*FROM author', function(error2, authors){
var title = 'Author';
var list = template.list(topics);
var html = template.HTML(title, list,
`
${template.authorTable(authors)}
<style>
table { border-collapse: collapse}
td {border: 1px solid #333; padding: 5px 10px}
</style>
<form action="/author/create_process" method="post">
<p><input type="text" name="name" placeholder="name"></p>
<p><textarea name="profile" placeholder="profile"></textarea></p>
<p><input type="submit" value="create"></p>
</form>
`,
``
);
// table하단에 form 넣기
// create클릭 시 입력된 값(name, profile) /author/create_process로 넘기기
response.writeHead(200);
response.end(html);
});
});
}
exports.create_process = function(request, response){
var body = '';
request.on('data', function(data){
body += data;
});
// form에서 전달된 값 body에 넣기
request.on('end', function(){
var post = qs.parse(body); // body값 분석해서 post에 넣기
db.query('INSERT INTO author (name, profile) VALUES (?, ?)', [post.name, post.profile], function(error, result){
if(error){ throw error; }
response.writeHead(302, {Location: `/author`});
response.end();
});
// author데이블에 post로 받은 값 넣기
});
}
반응형
'Dev > Nodejs-mysql' 카테고리의 다른 글
[Nodejs-mysql] 테이블값 삭제하기 (0) | 2020.08.07 |
---|---|
[Nodejs-mysql] 테이블값 업데이트 하기 (0) | 2020.08.07 |
[Nodejs-mysql] 테이블 만들고 모듈 분리하기 (0) | 2020.08.07 |
[Nodejs-mysql] DB 관련 코드 모듈로 분리하기 (0) | 2020.08.07 |
[Nodejs-mysql] Select값 수정하기 (0) | 2020.08.07 |