<<<미션>>>
웹사이트에서 이름,주소,평수를 입력 후 버튼을 누르면
1)'주문완료' Alert뜨고
2) 새로고침되어 'GET 연결완료!'Alert뜨고
3) Mongo DB Atlas 에 데이터 저장됨
1. 요청 정보 : URL= /mars, 요청 방식 = POST
2. 클라이언트(ajax) → 서버(flask) : name, address, size
3. 서버(flask) → 클라이언트(ajax) : 메시지를 보냄 (주문 완료!)
먼저, 클라이언트와 서버 연결 확인
서버코드
@app.route("/mars", methods=["POST"])
def mars_post():
sample_receive = request.form['sample_give']
print(sample_receive)
return jsonify({'msg': 'POST 연결 완료!'})
클라이언트 코드
function save_order() {
$.ajax({
type: 'POST',
url: '/mars',
data: { sample_give:'데이터전송' },
success: function (response) {
alert(response['msg'])
}
});
}
<button onclick="save_order()" type="button" class="btn btn-warning mybtn">주문하기</button>
서버만들기_name, address, size 정보를 받아서 저장
@app.route("/mars", methods=["POST"])
def mars_post():
name_receive = request.form['name_give']
address_receive = request.form['address_give']
size_receive = request.form['size_give']
doc = {
'name': name_receive,
'address': address_receive,
'size': size_receive
}
db.orders.insert_one(doc)
return jsonify({'msg': '주문 완료!'})
클라이언트 만들기_name, address, size 정보를 보내기
function save_order() {
let name = $('#name').val()
let address = $('#address').val()
let size = $('#size').val()
$.ajax({
type: 'POST',
url: '/mars',
data: { name_give:name, address_give:address, size_give:size },
success: function (response) {
alert(response['msg'])
window.location.reload()
}
});
}
해석 :
버튼을누르면!!
👉 클라이언트 측에서:
save_order 함수가 실행 > name, address, size를 jQuery로 가져옴 >
데이터를 실어보냄(약속되어 있는 name_give, address_give, size_give 로 )
그러면
👉 서버측에서:
창구에서 약속한대로 받아서 > DB에 저장 > '주문완료'라고 내려줌
그러면
👉 클라이언트 측에서:
'주문완료' 메세지를 alert로 보여줌 > reload
아어려워 아 미친듯이어려워 헷갈려 아ㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏ
'스파르타 코딩 웹개발 종합반 > 4주차' 카테고리의 다른 글
4-10 [스파르타피디아] _ meta 태그 스크래핑 (0) | 2022.05.19 |
---|---|
4-8 [화성땅 공동구매] - GET 연습(주문 웹페이지에서 보여주기) (0) | 2022.05.19 |
4-6 [화성땅 공동구매] - 뼈대 준비 (0) | 2022.05.18 |
4-5 [화성땅 공동구매]프로젝트_ 필요한 패키지? (0) | 2022.05.18 |
4-4 (코드모음!!)Flask로 API 만들기_GET/POST 방식으로 데이터받기 (0) | 2022.05.18 |