ajax请求如下
$.ajax({
url:"/ap",
type:"POST",
data:{emails:a1},
contentType: "application/json; charset=utf-8",
dataType: "json",
success:function (res) {
var code =res["code"];
if (code==200){
alert("成功!!!"+a1);
}
else{
alert(res["msg"]);
}
}
})
后端接收代码
@app.route('/ap', methods=['POST'])#监听POST型的数据
def ap():
#1.请求获取到的data
#有三种方法
# 2.data = request.get_data()
# 3.em01 = request.get_json() 这个就不用解析了
data=request.get_data()
print(json.loads(data))
#2.解析获得的json文件(键值对)
em01=json.loads(data)
#3.获取某个键里的值
email=em01['emails']
print(email)
#4.向前端发送响应报文
f=1
if f :
#用 jsonify 返回 json 数据
return jsonify({"success": 0, "msg": "UP success!","code":200})
else:
return jsonify({"error": 1001, "msg": "UP failed!","code":404})
出现报错 json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
就是说收到的报文解析不出来 原因是发送的data没有转换成json格式
解决方案:
把前端的发送ajax代码更改为
data:JSON.stringify({emails:a1}),
可以运行