我对Python有点陌生,但我在使用节点应用程序时遇到了同样的问题。我正在向本地Python服务器发出一个非常标准的jQuery AJAX请求:
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控制台得到这个错误:
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.
我发现在构建节点应用程序时,这是一个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)
我可以稍后再解决。不管怎样,有人对Python的Cors配置有什么建议吗?
烧瓶有flask-cors模块。 下面是代码片段和过程。
pip install -U flask-cors
在烧瓶应用程序中添加以下行:
点击this link查看更多
在我尝试了别人的建议和答案之后。这是我用的,有效的。
步骤:
pip install flask flask-cors
复制并粘贴到
app.py
文件中代码
python app.py
注意:确保在客户端的ajax配置中有以下内容:
如果有人想知道,
support_credentials=True
就意味着它将cookies沿着有效负载来回发送。以下是如何让你的手脏处理的胸衣细节,所有你自己:
相关问题 更多 >
编程相关推荐