我对Python很陌生,但是我有和Node应用程序一样的问题。我想提出一个非常标准的jQuery AJAX请求我的Python的服务器:Python Flask Cors问题
init: function(callback) {
var token = _config.get_token();
$.ajax({
url: 'http://localhost:5000/api/ia/v1/user_likes',
type: 'POST',
contentType: 'application/json',
datatype: 'json',
data: token
})
.done(function(data) {
callback(data);
})
.fail(function(err) {
callback(err);
});
callback(token);
}
我可以证实,该变量令牌确认这样的:
Object {access_token: "791415154.2c0a5f7.4d707361de394512a29682f9cb2d2846", campaign_id: "102"}
但我正从我的javascript这个错误console:
XMLHttpRequest cannot load http://localhost:5000/api/ia/v1/user_likes. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://s3.amazonaws.com' is therefore not allowed access. The response had HTTP status code 500.
我发现当我构建Node应用程序时,这是一个cors错误。我正在运行jQuery AJAX请求的页面是http。这里是我的Python代码,我相信我在配置不正确的部分:
from flask import Flask, request, redirect
from flask.ext.cors import CORS, cross_origin
app = Flask(__name__)
cors = CORS(app)
app.config['CORS_HEADERS'] = 'application/json'
和路由:
@app.route("/api/ia/v1/user_likes", methods=['POST', 'OPTIONS'])
def user_likes():
validate = validate_request(request.data)
return 'something'
我的Python错误也返回一个错误,因为该请求是永远不会使得人们这行代码:
def validate_request(object_from_user):
load_object = json.loads(object_from_user)
我可以在以后解决。无论如何,有没有人对Cors配置Python有任何建议?
我看了一下这些文档今日早盘并试图几个不同的配置。添加@cross_origin对我目前的配置没有帮助。 – 2015-02-11 18:10:19
对于JSON,以前您需要指定允许的标题。现在放松了,应该可以直接使用。如果您有任何问题,请告诉我。 – 2015-05-03 19:02:32
我正在尝试实现这一点。我使用@cors装饰器,仍然得到 – Addinall 2017-01-12 05:52:36