我对这个问题感到迷茫,我有一个用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_codeajax调用是:
$.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设置为address,那么应该在web应用程序中调用哪个地址?我试图对ipv4地址进行计算机处理,但没有运行。我如何解决cors问题,我似乎正确地包括了烧瓶库。
谢谢大家的友好答复
发布于 2021-09-15 16:11:32
CORS在代码中没有正确配置。请在下面找到具有正确CORS配置的代码。
import flask
from flask import request, jsonify, make_response
from flask_cors import CORS
from flask_restful import Api
from datetime import datetime, timedelta
app = flask.Flask(__name__)
api = Api(app)
CORS(app)
@app.route('/api/v1/resources/device/all', methods=['GET'])
def api_all():
[...]
response = jsonify(result)
status_code = 'some code'
return response,status_code
if __name__ == '__main__':
app.run()发布于 2022-05-03 05:26:39
在我的案子里试试吧,
$.ajax({
type: 'get',
dataType: 'json',
url: AddressWS + '/api/v1/resources/device/all?type=A',
cors: true,
contentType: 'application/json;charset=UTF-8',
secure: true,
headers: {
'Access-Control-Allow-Origin': '*',
},
success: function (result) {
//.,...
},
error: function (errorMessage) {
console.log('error');
}
});https://stackoverflow.com/questions/69194728
复制相似问题