๋๊ธ๋ฌ๊ธฐ์ ๊ด๋ จ๋ API ์์ฑ์ ์ผ๋จ์ ๋ง์ดํ์ด์ง์ ์๋ ๊ฒ์๊ธ์ ํด๋ฆญํ๋ฉด ๋์ค๊ฒ ๋๋ ๋ชจ๋ฌ์์ ์์ํ์๋ค.
๋ง์ดํ์ด์ง์ ์๋ ๊ฒ์๊ธ๋ค์ ํด๋ฆญํ๊ฒ ๋๋ฉด ์๋์ ๊ฐ์ด ๋ชจ๋ฌ์ด ๋์ค๊ฒ ๋๋ค.
ํ๋จ์ ๋๊ธ๋ฌ๊ธฐ
์ ๋๊ธ์ ์
๋ ฅํ ํ, ๊ฒ์
๋ฒํผ์ ํด๋ฆญํ๋ฉด ๊ฒ์ ๋ฒํผ์ ์ ์ฉ๋์ด ์๋ save_comment()
ํจ์์ ์ํด POST ์์ฒญ์ด ์งํ๋๊ณ ๋๊ธ์ด ๋ก์ปฌ db์ ์ ์ฅ๋๊ณ ์ ์ฅ๋ ๋ถ๋ถ์ GET ์์ฒญ์ ํตํด ํ๋ฉด์ ๋ณด์ฌ์ง๊ฒ ํ์๋ค.
js ๋ถ๋ถ
function save_comment() {
const cm = $('#cm').val();
$.ajax({
type: 'POST',
url: '/mypage/comment',
data: {cm_give: cm},
success: function (response) {
window.location.reload();
}
});
}
// ์ฝ๋ฉํธ ๋ถ๋ถ GET ์์ฒญ ์์ฑํด์ผํจ!๊ฒ ๋ฐ์์์ ์ฌ์ฉ์ํํ
๋ ๋ณด์ฌ์ค์ผ์ฃ
function show_comment() {
$.ajax({
type: "GET",
url: "/mypage/comment",
data: {},
success: function (response) {
const comments = response['comment_info']
console.log(comments)
for (let i=0; i < comments.length;i++) {
const writer = comments[i]['cm_writer']['insta_id']
const comment = comments[i]['cm']
const temp_html = `<div class="show_comment">
<div><img style="width: 40px; border-radius: 50%"
src="https://ca.slack-edge.com/T039CS8AH0D-U03A0MUBSQH-0e4deb8911e1-512">
</div>
<div class="modal_pf_name">${writer}</div>
<div class="modal_desc_wrtie" id="cm">${comment}</div>
</div>`
$('#comments').append(temp_html)
}
}
});
}
@app.route("/mypage/comment", methods=["POST"])
def comment_info():
token_receive = request.cookies.get('mytoken')
payload = jwt.decode(token_receive, SECRET_KEY, algorithms=['HS256'])
cm_writer_receive = db.user_info.find_one({"insta_id": payload["id"]})
cm_receive = request.form['cm_give']
doc = {
'cm_writer': cm_writer_receive['insta_id'],
'cm': cm_receive
}
db.comment_info.insert_one(doc)
return jsonify({'msg': '๋๊ธ์์ฑ ์๋ฃ!'})
@app.route("/mypage/comment", methods=["GET"])
def comment_output():
comment_info_list = list(db.comment_info.find({}, {'_id': False}))
print(comment_info_list)
return jsonify({'comment_info': comment_info_list})
์ข ๋ ์ง๊ด์ ์ผ๋ก ์งฐ์ด์ผ
ํ๋ค. ์ด์ ์ ํผ๋๋ฐฑ์ ๋ฐ์์ ๋ ์ฝ๋์ ๊ตฌ์ฑ์ ๊ทธ๋ฆฌ ๊ธธ์ง ์์์ ํ์
ํ๊ธฐ ์ข์ผ๋, ๋ณ์์ ์ด๋ฆ์ด ๋๋ฌด ์ค์ฌ์ ธ ์๊ณ ํด๋น ํจ์ ์์ฒด๊ฐ ์ ๋ณด๋ฅผ ๋ด๋ ๊ฒ์ธ๋ฐ ๊ตณ์ด info๋ผ๋ ์ด๋ฆ์ ๋ฌ ํ์๊ฐ ์๋ค
๋ ๋ด์ฉ์ ์ฃผ์
จ์๋ค. ์ฐ์ ์ ๊ธฐ๋ฅ ๊ตฌํ์ด ์ฐ์ ์ด๋ผ ์๊ฐํ์ฌ ํ์๋ค๊ณผ ๊ตฌํํ ์ ์๋ ๊ฒ์๋ค ์๋ํด ๋ณธ ํ, ํจ์๋ช
์ด๋ผ๋์ง ๋ค๋ฅธ ๋ณ์๋ช
์ ์ ๋ฆฌํ์ฌ ์ง๊ธ๋ณด๋ค๋ ํด๋ฆฐํ ์ฝ๋๋ฅผ ๋ง๋ค ์ ์๋๋ก ํ ๊ฒ์ด๋ค. ์์ด๋๊ฐ ์ ๋๋ก ๋ฐ์๋์ง ์์๋ค.
ํด๋น ๋ถ๋ถ์ ๋ํด์๋ ์ฐจ์ฐจ ์์ ์ ํ ๊ฒ์ด๋ฉฐ, ๋๊ธ์ ์ฌ๋ฌ ๊ฐ ๋ฌ๊ฒ ๋๋ฉด ๋๊ธ์ ์
๋ ฅํ๋ ์ฐฝ์ด ๋ฐ๋ฅ์ ๋ซ๊ณ ๋ด๋ ค๊ฐ๋ค.
์ด ๋ถ๋ถ์ ๋ํด์๋ CSS๋ฅผ ์์ ํด ๋ณด์ํ ๊ฒ์ด๋ค. (๋ํ ๋ ๋ฒ์งธ ์ง์ ์์ฑํ ๋๊ธ๋ถํฐ ๋๊ธ์ ๋ด์ฉ์ด ๋์ค์ง ์๋๋ค.
)์ฐ์ ๋๊ธ์ฐฝ์ด ์๋๋ก ๋ซ๊ณ ๋ด๋ ค๊ฐ๋ ๊ฒ์ ๋ง๊ธฐ ์ํด ์ค๊ฐ์ ๋๊ธ์ด ๋์ค๋ ๋ถ๋ถ์ ํฌ๊ธฐ๋ฅผ ์ง์
ํ์๋ค.
ํฌ๊ธฐ๋ฅผ ์ง์ ํ๋ ๋๊ธ ์
๋ ฅ์นธ์ ๋ด๋ ค๊ฐ์ง ์์์ง๋ง ๋๊ธ์ ์นธ์ด ์์ฉํ ์ ์๋ ์ด์์ ์์ ๋ฌ๊ฒ ๋๋ ๋๊ธ ์
๋ ฅ์นธ์ ์นจ๋ฒํ๊ธฐ ์์
ํ์๋ค.
๋ฐ๋ผ์ ๋๊ธ์ฐฝ์ ์คํฌ๋กค
์ ๋ฌ๊ณ ์ ํ์๊ณ , ๊ตฌ๊ธ๋ง์ ํตํด ํน์ div์ ์คํฌ๋กค ๋ค๋ ๋ฒ
์ ์ฐพ์ ์คํฌ๋กค์ ๋ซ์๋ค.
๋ซ๊ณ ๋๋ ๋ ์์ฌ์ด ์๊ฒจ ์ธ์คํ๋ฅผ ์ด๋ฆฌ์ ๋ฆฌ ๋ฏ์ด๋ณด๋ ์ธ์คํ์ ๋๊ธ์ฐฝ์๋ ๊ธ์ ์คํฌ๋กค์ด ์์๋ค. ๊ทธ๋์ ๋ ์คํฌ๋กค์ ์จ๊ธฐ๋ ๋ฒ
์ ๊ตฌ๊ธ๋งํ์๋ค.
ํด๋น ๊ณผ์ ์ ์งํํ๊ณ ๋๋ ์์ฃผ ์ด์ ๋๊ธ์ฐฝ์ด ์๊ธฐ๊ฒ ๋์๋ค.
๋๊ธ ์์ฑ์๊ฐ ๋์ค์ง ์๋ ๋ถ๋ถ๋ ํ์๋ค๊ณผ ์์ธํ ์ฝ๋๋ฅผ ๊ด์ฐฐํ๋ค๋ณด๋ ์์ฑ์์ ์ด๋ฆ์ ๋ฐ์์ค๋ ๋ถ๋ถ์์ db๋ณด๋ค ๊น์ ๊น์ด์ ์ด๋ฆ์ ๊บผ๋ด์ค๋ผ๊ณ ๋ช ๋ น์ ํ๊ณ ์์๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด db์ ๋์์๋ ๋ถ๋ถ๊น์ง๋ง์ ๋ํด ๋ช ๋ น์ ๋ด๋ ธ๊ณ ํด๊ฒฐ์ด ๋์๋ค. (์๋์ name ๋ถ๋ถ)
success: function (response) {
const prof_name = response['user_info_list']
const name = prof_name[0]['name']
const insta_id = prof_name[0]['insta_id']
function save_user_info() {
const contact = $('#contact').val();
const name = $('#name').val();
const insta_id = $('#user_id').val();
const password = $('#password').val();
$.ajax({
type: 'POST',
url: '/signup',
data: {contact_give: contact, name_give: name, insta_id_give: insta_id, password_give: password},
success: function (response) {
if (response["result"] == "success") {
alert(response['msg'])
window.location.href = '/login';
} else {
alert(response['msg'])
window.location.reload();
}
}
});
}
print()
์ console.log()
๋ฅผ ํ๋ฉฐ ์ค๋ฅ๋ฅผ ์ถ์ ํ๋ค๊ฐ sign-up.html์ ํ์ธํ๊ฒ ๋์๋ค. ํด๋น ๋ถ๋ถ์ jasonify
๋ถ๋ถ์ response["result"] == "success"
์์ ์ฌ์ฉํ result
๊ฐ์ ์ ์ธํด์ฃผ์ง ์์์๋ ๊ฒ์ ์๊ฒ ๋์๋ค. return jsonify({'result': 'success', 'msg': 'ํ์๊ฐ์
์๋ฃ!'})