額丐膝,周圍不少同學(xué)最近開始學(xué)編程,知道api這個東西淫半,也知道ajax這個東西,但是不會用溃槐,其實很簡單這里寫個簡單的使用方法。
我們選用jquery的ajax函數(shù)科吭,大佬們已經(jīng)幫我們簡化了ajax的函數(shù)昏滴,都封裝好了直接用就好
后臺我使用flask作為后臺
文件目錄
jquery.min.js
templates/
index.html
run.py
1.下載jq
jquery.min.js
2.前端代碼
然后在頁面中調(diào)用(路徑按照自己的實際情況填寫)
<script src="/static/js/jquery-3.2.1.min.js"></script>
然后在body中創(chuàng)建一個輸入框
<input type="text" id="username">
<button onclick="login()">登錄</button>
然后寫js
<script>
// 首先是post方法,我喜歡將數(shù)據(jù)變成json格式進行傳輸,所以我是用了JSON.stringify()將數(shù)據(jù)json化
function login(){
formdata = {
'username': $('#username').val() // $('#username')是按照id找到那個標簽对人,$('#username').val()是獲得那個輸入框內(nèi)的值
}
$.ajax({
data:JSON.stringify(formdata),
url:'/login', // url是你要訪問的接口谣殊,就是發(fā)送的地址
type:'POST', // 發(fā)送方式 post, get,delet,put......
dataType:'json', // 數(shù)據(jù)格式j(luò)son
contentType:'application/json', // 頭部:application/json
success:function(result){
// 訪問接口成功后的回調(diào)函數(shù),result是返回對象
if(result.Result == 'OK'){
alert("OK")
}else if(result.Result == 'ERR'){
alert("NO")
}
},
error:function(){
// 訪問失敗
alert('無響應(yīng)');
}
})
}
//然后是get方法
function login2(){
$.ajax({
url:'/login?id=' + $('#username').val(),
type:'GET',
success:function(result){
if(result.Result == 'OK'){
alert("OK")
}else if(result.Result == 'ERR'){
alert("NO")
}
},
error:function(){
alert('連接失敗')
}
})
}
</script>
3.后端代碼
run.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from flask import Flask, jsonify, request, render_template
import json
app = Flask(__name__)
@app.route('/index)
def index():
return render_template('index.html')
@app.route('/login', methods=["GET", "POST"])
def login():
if request.method == 'POST':
try:
param = json.loads(request.data.decode("utf-8")) # 以json格式utf-8編碼獲取數(shù)據(jù)
except ValueError: # 如果不是json格式則返回err
return jsonify({
'Result': 'ERR'
})
username = param.get("username", '') # 獲的username
if username:
return jsonify({
'Result': 'OK'
})
else:
return jsonify({
'Result': 'ERR'
})
elif request.method == 'GET':
param = request.args.get('username', '') # 獲的username
if username:
return jsonify({
'Result': 'OK'
})
else:
return jsonify({
'Result': 'ERR'
})
@app.route('/index')
def index():
return render_template('index.html')
if __name__ == '__main__':
app.run()
4.啟動項目
啟動項目
python run.py
瀏覽器訪問
127.0.0.1:5000/index
深度截圖_選擇區(qū)域_20171118223733.png
深度截圖_選擇區(qū)域_20171118224204.png
深度截圖_選擇區(qū)域_20171118224216.png
5.結(jié)束
好了最簡單的個demo結(jié)束了,之后的用法有空我再發(fā)吧
大家加油