(Ajax)サーバにGET,POSTを要求する
GET、POSTを知る前に、まずAPIを簡単に知る
アプリケーションプログラミングインタフェースとは?
オペレーティングシステムまたはプログラミング言語が提供する機能を制御するために、
仮にレストラン-サーバー、ゲスト-クライアントの場合、注文可能な食べ物を要求された場合、キッチンで食べ物を顧客に伝える「店員」は「店員」と見なすことができるAPIである.
ではOpenAPIとは何でしょうか。
OpenAPIとは?
GET/POST
例)ムービーリストの表示
→データ転送:URLの後ろに疑問符を付けてkey=valueに転送する
→例:google.com?q=ホッキョクグマ
例)会員加入、会員脱退、パスワード修正
→データ転送:非表示HTML bodyでkey:value形式で
サーバを作成してから、クライアントを作成するほうが便利なようです.
POST(Server)
@app.route("/mars", methods=["POST"])
def web_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.mars.insert_one(doc)
return jsonify({'msg': '주문완료!'})
✔クライアントから名前、住所、サイズを取得します.△giveに入れる.その後、insert oneでDBに保存し、returnでクライアントにMsgを送信します.
POST(Client)
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'])
// document.getElementById("name").value=""; //확인 누르면 id가 name인 text 초기화
// document.getElementById("address").value=""; //확인 누르면 id가 address인 text 초기화
// document.getElementById("size").value=""; //확인 누르면 id가 size인 text 초기화
window.location.reload() //F5
}
});
✔id値がname、address、sizeの友達の値はそれぞれの変数に保存し、サーバーにパッケージして渡します.上記の手順を実行すると、データベースにデータが表示されます。
次に、保存したデータをクライアントに表示します。
GET(Server)
@app.route("/mars", methods=["GET"])
def web_mars_get():
order_list = list(db.mars.find({}, {'_id': False}))
return jsonify({'orders': order_list})
✔postより簡単?やる.{'id':False}でMongoDBが提供するid値以外のすべての値を取得し、変数に保存して「orders」に戻します.
GET(Client)
$.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'];
let temp_html = `<tr>
<td>${name}</td>
<td>${address}</td>
<td>${size}</td>
</tr>`
$('#order-box').append(temp_html)
}
}
});
✔「orders」に含まれるすべてのデータの出力コード.ここで,GET/POST法を理解した.
以前Mysql、Mysql、Oracleなどについて議論しましたが、MongoDBが一番難しいようです.課題以外にも、自由に対応できるように多くの情報を参考にすべきだと思います.
Reference
この問題について((Ajax)サーバにGET,POSTを要求する), 我々は、より多くの情報をここで見つけました https://velog.io/@junsj119/Ajax서버에-GET-POST-요청テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol