注意!!!
第一种情况
Html前台:
Ajaxclick me
function func1(){
var gender = $('#gender').val()
$.ajax({
//'后台地址/路由函数'+参数
url:'/test_ajax/'+gender;
success:function(data){
//调用后,后台返回的数据操作
console.log(data)
}
})
}
python Flask后台:
from flask import Flask
#全局路由初始化
app = Flask(__name__)
#路由函数
# /test_ajax/ restful 写法
@app.router('/test_ajax/', methods=['GET', 'POST'])
def test_ajax(gender):
#业务逻辑操作
print(gender)
return 'Hi' + gender
if __name__ == '__main__':
app.run(debug=True)
第二种情况
Html前台:
Ajaxclick me
function func1(){
var gender = $('#gender').val();
var gender_dict = {
'gender':gender,
};
var gender_json = JSON.stringify(gender_dict);
$.ajax({
//'后台地址的路由函数'
url:'/test_ajax',
// 请求方式
type: 'post',
// 是否启用异步请求;
// false 表示为同步请求,等待本次 ajax 函数请求调用完成并且得到后台返回值后,再执行后继代码;
// true 表示为异步请求, 发出本次 ajax 函数请求后,不等待后台返回值,继续执行后继代码。
async: true,
data: gender_json, //要发送给 后台的数据对象
// 后台返回的数据类型
dataType: 'json',
success:function(data){
//调用后,后台返回的数据操作 data 为json对象
console.log(data)
}
})
}
python Flask 后台:
from flask import Flask, request
import json
#全局路由初始化
app = Flask(__name__)
#路由函数
@app.router('/test_ajax', methods=['GET', 'POST'])
def test_ajax():
# jsonobj = request.json
# request 上下文管理器
# get 请求
# request.args['key']
# post 请求
# request.form['key']
# gender_json = request.get_data()
# 得到 gender_dict 字典对象
gender_dict = json.loads(gender_json)
# 业务逻辑操作 ……
# 构造需要向前台发送的数据
data_dict = {}
# 向前台调用的函数发送 data_dict 数据 (经过 json.dumps(data_dict) 转为 json 对象)
return json.dumps(data_dict)
if __name__ == '__main__':
app.run(debug=True)