【发布时间】:2021-11-10 15:18:41
【问题描述】:
我迷失了这个问题, 我有一个用 python 编写的服务,我需要通过 ajax 调用从网页访问它
python代码如下:
import flask
from flask import request, jsonify, make_response
from flask_cors import CORS, cross_origin
from datetime import datetime, timedelta
app = flask.Flask(__name__)
app.run(host='0.0.0.0', port=5000)
cors = CORS(app)
app.config['CORS_HEADERS'] = 'Content-Type'
@app.route('/api/v1/resources/device/all', methods=['GET'])
@cross_origin()
def api_all():
[...]
response = jsonify(result)
response.headers.add("Access-Control-Allow-Origin", "*")
return response,status_code
ajax 调用是:
$.ajax({
type: 'get',
crossDomain: true,
dataType: "json",
url: AddressWS + '/api/v1/resources/device/all?type=A',
success: function (result) {
//.,...
}
});
错误是永远
... 已被 CORS 策略阻止:无“访问控制允许来源” 请求的资源上存在标头。
Web 应用程序位于 IIS 下。 问题是 : 如果我在 python 脚本中将 0.0.0.0 设置为地址,我应该在 Web 应用程序中调用哪个地址? 我尝试机器 ipv4 地址但不运行。 我如何解决 cors 问题,我似乎正确地包含了烧瓶库。
感谢大家的热心回复
【问题讨论】:
-
在 app.run 之前尝试 cors 设置。
标签: python jquery python-3.x ajax