Python Flask 没有收到 AJAX 帖子? [复制]
Posted
技术标签:
【中文标题】Python Flask 没有收到 AJAX 帖子? [复制]【英文标题】:Python Flask not receiving AJAX post? [duplicate] 【发布时间】:2017-02-17 03:54:04 【问题描述】:我的 javascript/python 脚本遇到了问题。我想要做的是将一个字符串传递给 python 烧瓶,以便我以后可以使用它。当我单击按钮发送字符串时,没有错误但没有任何反应。我基本上是一个自学成才的编码员,所以如果我的脚本格式不正确,我深表歉意!
Javascript:
$('#button').click(function()
$.ajax(
url:"/",
type: 'POST',
data: data,
...
Python 烧瓶:
from flask import Flask
from flask import request
from flask import render_template
app = Flask(__name__)
@app.route('/', methods=['POST', 'GET'])
def home():
if request.method == "POST":
string = request.args.get(data)
print(string)
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
我希望能够看到打印到控制台或命令提示符的字符串,我认为 print() 是正确的方法吗? 欢迎任何帮助,谢谢:)
【问题讨论】:
请修正你的缩进。 【参考方案1】:你想要的是request.data
。
request.args
包含 URL 中的参数。
查看此内容了解更多详情。 http://flask.pocoo.org/docs/0.11/api/#incoming-request-data
【讨论】:
【参考方案2】:您可以像这样发出 ajax POST 请求:
$.ajax(
url: "/",
method: "POST",
data: paramter : value ,
);
通过这个 POST 请求发送的数据可以在烧瓶应用程序中使用request.form['parameter']
访问
如果您发送的是原始 json 数据,您可以通过request.json['parameter']
访问数据
$.ajax(
url: "/",
method: "POST",
data: JSON.stringify("'paramter': 'value'"),
contentType: 'application/json;charset=UTF-8'
);
这应该可行。
【讨论】:
【参考方案3】:如果您在 Ajax 中的数据对象是 json,那么您可以使用 request.get_json()
如果是键值的表单数据,那么你可以request.form.get('data')
,但你的ajax应该是
$('#button').click(function()
$.ajax(
url:"/",
type: 'POST',
data: data: 'mystring',
【讨论】:
以上是关于Python Flask 没有收到 AJAX 帖子? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
TypeError Ajax Post - Flask Python [重复]
通过 Ajax 将数据发布到 Flask 时出现 500 内部服务器错误 [重复]