-
프로젝트 : 01. 모두의책리뷰(bookreview) - GET 연습카테고리 없음 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로 담아주면 끝이다.
전체 페이지 샷 리뷰 작성해보기 저장 완료! 방금 적은 리뷰가 맨 밑에 출력된다.