본문 바로가기
front

GET POST 방식

by 리승우 2022. 8. 4.

> 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

댓글