在对Flask进行ajax调用时出现混合内容错误

时间:2015-09-01 09:50:06

标签: jquery python ajax https flask

我正在尝试使用来自https页面的jQuery进行ajax调用

javascript

var load = function (param1, param2) {
    return $.getJSON("https://www.domian.com/thing/" + param1 + "/" + param2 + "/", function (data) {
        // do stuff
    })
}

烧瓶终点

@app.route('/thing/<param1>/<param2>/')
def load(param1, param2):
    thing = get_thing(param1,param2)
    if thing:
        return jsonify(thing)
return jsonify(error="thing not found.")

我尝试过添加

@app.after_request
def after_request(response):
    response.headers.add('Access-Control-Allow-Origin', '*')
    return response

我也尝试了各种不同的网址,例如:thing / + blah,添加/删除斜线无济于事

我也在使用Flask-SSLify

这是Chrome中的错误:

混合内容:“https://www.domain.com/blah/”页面是通过HTTPS加载的,但是请求了一个不安全的XMLHttpRequest端点“http://www.domain.com/thing/param1/param2/”。此请求已被阻止;内容必须通过HTTPS提供。

有人有过类似的问题吗?

1 个答案:

答案 0 :(得分:0)

不要返回完整的$.getJSON,而是尝试返回响应:

var load = function (param1, param2) {
    $.getJSON("https://www.domian.com/thing/" + param1 + "/" + param2 + "/", function (data) {
        // do stuff
        return data;
    })
}