Skip to main content

Command Palette

Search for a command to run...

Project. Mars- Show orders w/ Get

Published
3 min readView as Markdown

Get Request

  1. 요청 정보 : URL= /mars, 요청 방식 = GET
  2. 클라(ajax) → 서버(flask) : (없음)
  3. 서버(flask) → 클라(ajax) : 전체 주문을 보내주기

Create a server.

  • to make it show all orders, use
    # 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
    all_users = list(db.users.find({},{'_id':False}))
    

and copy and paste it under def web_mars_get()

@app.route("/mars", methods=["GET"])
def web_mars_get():
    return jsonify({'msg': 'GET 연결 완료!'})

to

@app.route("/mars", methods=["GET"])
def web_mars_get():
    all_users = list(db.users.find({}, {'_id': False}))
    return jsonify({'msg': 'GET 연결 완료!'})
  • change the codes accordingly.
@app.route("/mars", methods=["GET"])
def web_mars_get():
    order_list = list(db.mars.find({}, {'_id': False}))
    return jsonify({'orders':order_list})

Create a client in index.html

  • test in console
        function show_order() {
            $.ajax({
                type: 'GET',
                url: '/mars',
                data: {},
                success: function (response) {
                    console.log(response)
                }
            });
        }

image.png

  • to see name, address and size
        function show_order() {
            $.ajax({
                type: 'GET',
                url: '/mars',
                data: {},
                success: function (response) {
                    let rows = response['orders']
                    for (let i = 0; i < rows.length; i++) {
                        let name = rows[i]['name']
                        let address = rows[i]['address']
                        let size = rows[i]['size]']

                        console.log(name, address, size)
                    }
                }
            });
        }

image.png

  • To add a new order to the list, we need to use let temp_html =. It should be added to <tbody> image.png
                success: function (response) {
                    let rows = response['orders']
                    for (let i = 0; i < rows.length; i++) {
                        let name = rows[i]['name']
                        let address = rows[i]['address']
                        let size = rows[i]['size]']

                        let temp_html = ``
                    }
                }

to

                success: function (response) {
                    let rows = response['orders']
                    for (let i = 0; i < rows.length; i++) {
                        let name = rows[i]['name']
                        let address = rows[i]['address']
                        let size = rows[i]['size]']

                        let temp_html = `<tr>
                                            <td>${name}</td>
                                            <td>${address}</td>
                                            <td>${size}</td>
                                         </tr>`
                    }
                }
  • To add it to <tbody>, set an id for it.
            <tbody>
              <tr>
                <td>홍길동</td>
                <td>서울시 용산구</td>
                <td>20</td>
              </tr>
              <tr>
                <td>임꺽정</td>
                <td>부산시 동구</td>
                <td>10</td>
              </tr>
              <tr>
                <td>세종대왕</td>
                <td>세종시 대왕구</td>
                <td>30</td>
              </tr>
            </tbody>
            <tbody id="order-box"
              <tr>
                <td>홍길동</td>
                <td>서울시 용산구</td>
                <td>20</td>
              </tr>
              <tr>
                <td>임꺽정</td>
                <td>부산시 동구</td>
                <td>10</td>
              </tr>
              <tr>
                <td>세종대왕</td>
                <td>세종시 대왕구</td>
                <td>30</td>
              </tr>
            </tbody>
          </table>
  • Now, add $('#order-box').append(temp_html) to function
                success: function (response) {
                    let rows = response['orders']
                    for (let i = 0; i < rows.length; i++) {
                        let name = rows[i]['name']
                        let address = rows[i]['address']
                        let size = rows[i]['size]']

                        let temp_html = `<tr>
                                            <td>${name}</td>
                                            <td>${address}</td>
                                            <td>${size}</td>
                                         </tr>`
                        $('#order-box').append(temp_html)
                    }
                }
  • Delete the existing list.
            <tbody id="order-box"
              <tr>
                <td>홍길동</td>
                <td>서울시 용산구</td>
                <td>20</td>
              </tr>
              <tr>
                <td>임꺽정</td>
                <td>부산시 동구</td>
                <td>10</td>
              </tr>
              <tr>
                <td>세종대왕</td>
                <td>세종시 대왕구</td>
                <td>30</td>
              </tr>
            </tbody>

to

            <tbody id="order-box"
            </tbody>
  • Refresh the page image.png

More from this blog

Ollie Seongyong Kim

85 posts