javascript - 由于 CORS 问题,无法在 Heroku 上访问 Flask API

标签 javascript jquery heroku flask cors

我正在尝试调用我的 Flask api(托管在 Heroku 上)。当我将 url 放入 url 栏中时它会起作用,但当我通过 jquery 实现它时它会失败。

我继续安装了 flask-cors并添加了以下内容:

app = Flask(__name__)
cors = CORS(app)

@app.route("/")
@cross_origin()
def home():
    return jsonify({"results":{}})

我还有什么事情要做吗?我还在我的请求中执行了以下操作:

function fetchResults(requestURL, callback) {

    var xmlHttp = new XMLHttpRequest();
    xmlHttp.onreadystatechange = function() { 
        if (xmlHttp.readyState === 4) {  
            if (xmlHttp.status === 200) {   
                callback(xmlHttp.responseText);
            } else {  
                console.error("Error: " + xmlHttp.status + xmlHttp.statusText);  
            }  
        }  
    }

    //Make Async GET Request
    xmlHttp.open("GET", requestURL, true); 
    xmlHttp.setRequestHeader('Access-Control-Allow-Origin', '*');
    xmlHttp.send(null);
}           

最佳答案

Access-Control-Allow-Origin 是您应该在响应而不是请求中设置的 header 。 cross_origin 会为您完成此操作。

如果你想使用 JQuery 只需使用:

$.ajax({
    url: ...,
    ....,
    crossDomain: true
})

关于javascript - 由于 CORS 问题,无法在 Heroku 上访问 Flask API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37064834/

相关文章:

javascript - 根据地址从 google.maps 获取建筑物的名称

python - Heroku 上的 PhantomJS 路径

javascript - rails : browser can't scroll

javascript - 视差效果 - 强制文本 block 表现得像背景附件 : fixed

javascript - 单击时调用变量函数

javascript - 提交按钮根据一天中的时间显示图像

javascript - 将 $.getJSON 的结果传递给同一个类的另一个方法

javascript - WooCommerce 图像缩放

reactjs - 错误 : Cannot find module 'react-dev-utils/getPublicUrlOrPath'

javascript - 用于输入地址的自动完成文本框是个好主意吗?