> GET
1. 통상적으로! 데이터 조회(Read)를 요청할 때 사용
예) 영화 목록 조회
2. 데이터 전달 : URL뒤에 물음표를 붙여 key=value형태로 전달 (dict형식인가?)
예) google.com?q=북극곰
> POST
1. 통상적으로! 데이터 생성(Create),변경(Update),삭제(Delete) 요청할 때 사용 (CRUD인가?)
예) 회원가입, 회원탈퇴, 비밀번호 수정
2. 데이터 전달 : 바로 보이지않는 HTML body에 key:value 형태로 전달 (dict형식인가?)
> 실전예제 (2개 파일은 서로 상호작용한다. 인과관계 파악 중요함)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
// 버튼을 누르는 순간, Ajax요청이됨. /test라는 창구에 POST 요청으로
function hey(){
$.ajax({
type: "POST",
url: "/test",
data: {title_give: '봄날은간다'},
// response에 {'result':'success', 'msg': '요청을 잘 받았어요'} 값들이 전해짐
success: function (response) {
console.log(response)
}
})
}
</script>
</head>
<body>
<h1>나의 첫 웹페이지!</h1>
<button onclick="hey()">버튼을 만들자</button>
</body>
</html>
from flask import Flask,render_template, request, jsonify
app = Flask(__name__)
@app.route('/')
def home():
return render_template('index.html')
@app.route('/test', methods=['GET'])
def test_get():
title_receive = request.args.get('title_give')
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
# /test라는 창구를 만들었고, POST받는 것들만 이리로 와라
# 같은 창구인데 GET을 받으면 위로 감
@app.route('/test', methods=['POST'])
def test_post():
# title_give를 받아와서 title_receive로 찍어줬음
title_receive = request.form['title_give']
print(title_receive)
# 데이터를 돌려주는 것들
return jsonify({'result':'success', 'msg': '요청을 잘 받았어요'})
if __name__ == '__main__':
app.run('0.0.0.0',port=5000,debug=True)
'front' 카테고리의 다른 글
숙제해석 (0) | 2022.08.08 |
---|---|
화성땅 공동구매 (mongodb, jquery, ajax, api) (0) | 2022.08.07 |
Flask (0) | 2022.08.04 |
데이터베이스란? (0) | 2022.08.04 |
따릉이 데이터 (ajax 2) (0) | 2022.08.01 |
댓글