1.场景:前端js发送ajax后端接受不到数据,并且前端也报错,
但是使用postman发送接口请求后台却可以接受到数据
2.前端报错:No 'Access-Control-Allow-Origin' header is present on the requested resource
3.解决方案
@app.route("/api/test",methods=["GET","POST"])
def api_test():
data = json.loads(request.get_data())
print(data["name"])
resp = make_response(jsonify({
"state":"ok"
}))
resp.headers["Access-Control-Allow-Origin"] = "*"
return resp
给api响应头加上上面resp.headers["Access-Control-Allow-Origin"] = "*",即可正常使用了
前端ajax使用jquery
$.ajax({
url: "http://127.0.0.1:5000/api/test",
type: "POST", //请求方式
data: JSON.stringify({
"name":"Titans",
"age":18
}),
dataType: "json",
success: function (resp) {
alert(resp["state"]);
},
error: function () {
alert("出错啦...");
},
});