由于CORS问题,无法访问Heroku上的Flask API

时间:2016-05-06 05:24:45

标签: javascript jquery heroku flask cors

我正试图打电话给我的烧瓶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);
}           

1 个答案:

答案 0 :(得分:0)

Access-Control-Allow-Origin是您应在响应中设置的标头而不是请求。而cross_origin为你做了那件事。

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

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