尽管 header 从那里开始,但 CORS header 'Access-Control-Allow-Origin' 仍然缺失
CORS header 'Access-Control-Allow-Origin' missing despite header begin there
我正在 flask-restful 中创建一个 api,我正在尝试发出请求,但是当我尝试时出现错误:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://127.0.0.1:5000/events/. (Reason: CORS header 'Access-Control-Allow-Origin' missing)
我的代码是:
class Event(Resource):
def get(self, id=0):
if id == 0:
return random.choice(events), 200
for event in events:
if(event["id"] == id):
return event, 200, {'Access-Control-Allow-Origin': '*'}
return "Event not found", 404
我已经添加了 header,但我仍然收到错误。有谁知道问题出在哪里?
另外,如果有人需要,完整代码在这里:
from flask import Flask
from flask_restful import Api, Resource, reqparse
import random
app = Flask(__name__)
api = Api(app)
events = [
{
"id": 0,
"starter": "a",
"dungeon": "test a",
"info": "A test event for the web app and api"
},
{
"id": 1,
"starter": "b",
"dungeon": "test b",
"info": "A test event for the web app and api 2"
}
]
class Event(Resource):
def get(self, id=0):
if id == 0:
return random.choice(events), 200
for event in events:
if(event["id"] == id):
return event, 200, {'Access-Control-Allow-Origin': 'file:///C:/Python/website%20test/index.html'}
return "Event not found", 404
api.add_resource(Event, "/events", "/events/", "/events/<int:id>")
if __name__ == '__main__':
app.run(debug=True)
编辑:
以下是我提出请求的方式:
let request = new XMLHttpRequest();
request.open("GET", "http://127.0.0.1:5000/events/");
request.send();
request.onload = () => {
if (request.status == 200) {
console.log(JSON.parse(request.response));
} else {
console.log('API offline');
}
}
安装 flask-CORS 包。
pip install -U flask-cors
并应用以下更改。在您当前的代码上。
from flask import Flask
from flask_cors import CORS
app = Flask(__name__)
CORS(app)
@app.route("/")
def helloWorld():
return "Hello, cross-origin-world!"
我正在 flask-restful 中创建一个 api,我正在尝试发出请求,但是当我尝试时出现错误:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://127.0.0.1:5000/events/. (Reason: CORS header 'Access-Control-Allow-Origin' missing)
我的代码是:
class Event(Resource):
def get(self, id=0):
if id == 0:
return random.choice(events), 200
for event in events:
if(event["id"] == id):
return event, 200, {'Access-Control-Allow-Origin': '*'}
return "Event not found", 404
我已经添加了 header,但我仍然收到错误。有谁知道问题出在哪里? 另外,如果有人需要,完整代码在这里:
from flask import Flask
from flask_restful import Api, Resource, reqparse
import random
app = Flask(__name__)
api = Api(app)
events = [
{
"id": 0,
"starter": "a",
"dungeon": "test a",
"info": "A test event for the web app and api"
},
{
"id": 1,
"starter": "b",
"dungeon": "test b",
"info": "A test event for the web app and api 2"
}
]
class Event(Resource):
def get(self, id=0):
if id == 0:
return random.choice(events), 200
for event in events:
if(event["id"] == id):
return event, 200, {'Access-Control-Allow-Origin': 'file:///C:/Python/website%20test/index.html'}
return "Event not found", 404
api.add_resource(Event, "/events", "/events/", "/events/<int:id>")
if __name__ == '__main__':
app.run(debug=True)
编辑: 以下是我提出请求的方式:
let request = new XMLHttpRequest();
request.open("GET", "http://127.0.0.1:5000/events/");
request.send();
request.onload = () => {
if (request.status == 200) {
console.log(JSON.parse(request.response));
} else {
console.log('API offline');
}
}
安装 flask-CORS 包。
pip install -U flask-cors
并应用以下更改。在您当前的代码上。
from flask import Flask
from flask_cors import CORS
app = Flask(__name__)
CORS(app)
@app.route("/")
def helloWorld():
return "Hello, cross-origin-world!"