항해99/사전 스터디
웹개발 종합반 - 4주차 - 08. [화성땅 공동구매] - GET 연습(주문 보여주기)
루딘
2022. 10. 12. 10:43
이번엔 GET방식을 이용해서 DB에 있는 내용들을 웹페이지로 보내서 띄울 것이다!
1.app.py에서 DB에서 받은 정보를 클라이언트로 보내주기!
@app.route("/mars", methods=["GET"])
def mars_get():
orders_list = list(db.mars.find({},{'_id:False})) #mars 데이터에서 id만 제외하고 받아오기
return jsonify({'orders':orders_list}) #받아온 데이터를 JSON형태로 바꿔서 리턴하기
2.클라이언트에서 서버로부터 받은 데이터를 웹페이지에 보여주기!
//먼저 테이블에 id를 줘서 ajax로 해당 셀렉터를 선택해주자
<tbody id="order-list">
<tr>
<td>홍길동</td>
<td>서울시 용산구</td>
<td>20평</td>
</tr>
<tr>
$(document).ready(function () { //도큐먼트가 준비되면 해당 function을 실행
$('#order-list').empty(); //처음 orderlist 비우기
show_order(); // 가져온 orderlist 보여주는 기능를 실행
});
function show_order() {
$.ajax({
type: 'GET',
url: '/mars',
data: {},
success: function (response) {
let rows = response['orders'] //받아온 JSON 형태의 데이터중 orders만 뽑기
for(i=0;i <rows.length;i++){
let name = rows[i]['name']; //orders의 name
let address = rows[i]['address']; //orders의 address
let size = rows[i]['size']; ////orders의 size
let htmlTemp = `<tr> //order-list안에 형태
<td>${name}</td>
<td>${address}</td>
<td>${size}</td>
</tr>`
$('#order-list').append(htmlTemp) // 위 htmlTemp를 order-list에 넣기
}
}
});
}
이렇게 한다면
이런 식으로 아래 테이블에 DB에서 받아온 데이터가 나온다