我正在尝试使用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,我想知道如何将MongoDB数据库与即将开始构建的Flask应用程序连接和使用。 问题答案: 我个人发现PyMongo库简单易用。 你首先需要导入并创建一个连接: 然后获取你的数据库实例和集合(表): 然后,你可以通过处理保存数据的JSON文档来操纵数据。他们的网站上有完整的示例。
问题内容: 我试图用一个烧瓶形式的sqlalchemy请求的结果填充选择字段。 这是代码: 这是模板: 查看: 模型(仅粘贴了关联表和作者表,很多列都不用了) 我目前收到此错误: 我真正想要的是select字段显示作者姓名及其编号,然后将作者编号返回到应用程序(返回到头上名为“ add_author”的函数)。 问题答案: 你有两个问题: 正如肖恩·维埃拉(Sean Vieira)在回答中指出的那
问题内容: 据我了解Flask中的g变量,它应该为我提供一个存放数据的全局位置,例如在登录后保留当前用户。它是否正确? 我希望导航后在整个网站上显示我的用户名。 我的意见包含 登录期间,我分配 看来我无法访问g.user。相反,当我的base.html模板具有以下内容时… 我得到错误: 否则登录正常。我想念什么? 问题答案: 是本地线程,并且是每个请求的内容(请参阅代理说明)。该是还当地一个线程,
问题内容: 我已经像这样设置了Flask Restful: 我想在内部重定向到端点。 但是当我尝试这样做时: 我有一个例外。 问题答案: 你需要为网址的一部分指定一个值: 或者你可以使用,它需要资源:
问题内容: 我使用Flickr照片搜索API的JavaScript创建了一个演示。现在,我将其转换为AngularJs。我在互联网上搜索,发现下面的配置。 组态: 服务: 控制器: 问题答案: 你不知道 您请求的服务器必须实现CORS才能从您的网站访问权限中授予JavaScript。您的JavaScript无法授予自己访问其他网站的权限。
我已经使用JavaScript为Flickr照片搜索API创建了一个演示。现在我把它转换成AngularJs。我在网上搜索了一下,找到了下面的配置。 配置: 服务: 控制器: 但是我仍然得到了同样的错误。以下是我尝试过的一些链接: XMLHttpRequest无法加载URL。访问控制不允许原点允许原点 http://goo.gl/JuS5B1