카테고리 없음
프로젝트 : 01. 모두의책리뷰(bookreview) - GET 연습
usop
2022. 6. 8. 10:11
GET은 우리가 DB에 받아놓은 데이터들을 가져와서 뿌려주는 작업이기 때문에 POST 보다 간단하다
먼저 app.py 를 보자
@app.route('/review', methods=['GET'])
def read_reviews():
reviews = list(db.bookreview.find({},{'_id':False}))
return jsonify({'all_reviews': reviews})
db.bookreview에서 find를 통해 데이터를 찾아 가져오면 된다.
우리는 db에 있는 내용만 가져오면 된다. 그래서 find({}) 와 _id:False 만 해주면된다.
그런후 return 문에 reviews를 all_reviews에 담아서 보냈다.
app.py는 다 되었으니 index.html을 보자
showReview() 함수안에 GET요청을 담았다.
showReview는 POST 때와는 다르게 페이지를 열면 바로 실행되게 설정을 해주어야 우리가 적은 리뷰들이 출력되니
다음과 같이 적으면 된다.
$(document).ready(function () {
showReview();
});
function showReview() {
$.ajax({
type: "GET",
url: "/review",
data: {},
success: function (response) {
let reviews = response['all_reviews']
for (let i = 0; i < reviews.length; i++){
let title = reviews[i]['title']
let author = reviews[i]['author']
let review =reviews[i]['review']
let temp_html = `<tr>
<td>${title}</td>
<td>${author}</td>
<td>${review}</td>
</tr>`
$('#reviews-box').append(temp_html)
}
}
})
}
let reviews에 response['all_reviews']를 받아온 후 for문을 통해 각 리뷰내용(temp_html)을 정리해서 출력하게 담아주려한다.
temp_html에 담은 후 reviews-box 안에 리뷰내용을 append로 담아주면 끝이다.