gpt4 book ai didi

Javascript - 请求的资源上不存在 'Access-Control-Allow-Origin' header

转载 作者:IT老高 更新时间:2023-10-28 20:35:46 25 4
gpt4 key购买 nike

我需要通过 XmlHttpRequest 从 JavaScript 向 Python 服务器发送数据。因为我使用的是localhost,所以需要使用CORS .我正在使用 Flask 框架及其模块 flask_cors

作为 JavaScript 我有这个:

    var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("POST", "http://localhost:5000/signin", true);
var params = "email=" + email + "&password=" + password;


xmlhttp.onreadystatechange = function() {//Call a function when the state changes.
if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
alert(xmlhttp.responseText);
}
}
xmlhttp.send(params);

和 Python 代码:

@app.route('/signin', methods=['POST'])
@cross_origin()
def sign_in():
email = cgi.escape(request.values["email"])
password = cgi.escape(request.values["password"])

但是当我执行它时,我会收到以下消息:

XMLHttpRequest cannot load localhost:5000/signin. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

我应该如何解决它?我知道我需要使用一些“Access-Control-Allow-Origin” header ,但我不知道如何在这段代码中实现它。顺便说一句,我需要使用纯 JavaScript。

最佳答案

我使用了 flask-cors 扩展。

使用 pip install flask-cors

安装

那就简单了

from flask_cors import CORS
app = Flask(__name__)
CORS(app)

这将允许所有域

关于Javascript - 请求的资源上不存在 'Access-Control-Allow-Origin' header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22181384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com