我的python应用程序不会在Google app Engine上抛出任何错误,但Allow-Control-Access-Origin标头从未发送过。我怎样才能确保我是用flask-cors发送的?
import MySQLdb
import os
import webapp2
import json
import flask
from flask import Flask, jsonify, render_template, request
from flask.ext.cors import CORS, cross_origin
app = Flask(__name__)
@app.route('/')
@cross_origin()
def do_search():
if (os.getenv('SERVER_SOFTWARE') and
os.getenv('SERVER_SOFTWARE').startswith('Google App Engine/')):
db = MySQLdb.connect(unix_socket='/cloudsql/my-instance-name:storeaddressdb', db='store_locator', user='myuser', passwd='password')
else:
db = MySQLdb.connect(host='localhost', user='root')
cursor = db.cursor()
query = 'SELECT * FROM stores WHERE 1 LIMIT 5'
cursor.execute(query)
resp = jsonify(data=cursor.fetchall())
return resp
db.close()发布于 2015-06-12 07:16:50
虽然当我使用cURL测试url时,我没有看到Allow-Control-Access-Origin头,但看起来这段代码确实可以工作。Google App Engine中的日志显示CORS选择性地添加头,除非客户端特别跳过它。此外,Javascript客户端不再显示错误,并接收数据。它可能不是最漂亮的python代码,但对于我的目的来说,它在功能上是正确的。
https://stackoverflow.com/questions/30765060
复制相似问题