如何在flask中启用CORS

我正在尝试使用jquery提出跨源请求,但它一直被消息拒绝

XMLHttpRequest无法加载http:// …请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不能访问Origin…。

我正在使用flask,heroku和jquery

客户端代码如下所示:

$(document).ready(function() {

$('#submit_contact').click(function(e){

e.preventDefault();

$.ajax({

type: 'POST',

url: 'http://...',

// data: [

// { name: "name", value: $('name').val()},

// { name: "email", value: $('email').val() },

// { name: "phone", value: $('phone').val()},

// { name: "description", value: $('desc').val()}

//

// ],

data:"name=3&email=3&phone=3&description=3",

crossDomain:true,

success: function(msg) {

alert(msg);

}

});

});

});

在heroku方面,我正在使用flask,就像这样

from flask import Flask,request

from flask.ext.mandrill import Mandrill

try:

from flask.ext.cors import CORS # The typical way to import flask-cors

except ImportError:

# Path hack allows examples to be run without installation.

import os

parentdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

os.sys.path.insert(0, parentdir)

from flask.ext.cors import CORS

app = Flask(__name__)

app.config['MANDRILL_API_KEY'] = '...'

app.config['MANDRILL_DEFAULT_FROM']= '...'

app.config['QOLD_SUPPORT_EMAIL']='...'

app.config['CORS_HEADERS'] = 'Content-Type'

mandrill = Mandrill(app)

cors = CORS(app)

@app.route('/email/',methods=['POST'])

def hello_world():

name=request.form['name']

email=request.form['email']

phone=request.form['phone']

description=request.form['description']

mandrill.send_email(

from_email=email,

from_name=name,

to=[{'email': app.config['QOLD_SUPPORT_EMAIL']}],

text="Phone="+phone+"\n\n"+description

)

return '200 OK'

if __name__ == '__main__':

app.run()

回答:

当我部署到Heroku时,这对我有用。

http://flask-cors.readthedocs.org/en/latest/

通过运行-安装flask-cors- pip install -U flask-cors

from flask import Flask

from flask_cors import CORS, cross_origin

app = Flask(__name__)

cors = CORS(app)

app.config['CORS_HEADERS'] = 'Content-Type'

@app.route("/")

@cross_origin()

def helloWorld():

return "Hello, cross-origin-world!"

以上是 如何在flask中启用CORS 的全部内容, 来源链接: utcz.com/qa/427478.html

回到顶部