2016-10-08 69 views
0

我遇到了我的javascript/python脚本的问题。我想要做的是将一个字符串传递给python烧瓶,以便以后使用它。当我点击按钮发送字符串时,没有错误,但没有任何反应。我基本上是一个自学的编码器,所以如果我的脚本格式不正确,我很抱歉!Python烧瓶没有收到AJAX文章?

使用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) 

我希望能够看到该字符串打印到控制台或命令提示,我假定打印()是正确的如何做到这一点? 任何帮助将受到欢迎,谢谢:)

+0

请修复您的缩进。 – Ivan

回答

0

如果你的数据在Ajax对象是JSON那么你可以使用request.get_json()

如果它的键值形式的数据,那么你可以request.form.get('data')但你的Ajax应该是

$('#button').click(function() { 
$.ajax({ 
    url:"/", 
    type: 'POST', 
    data: {data: 'mystring'}, 
0

您可以使ajax POST请求是这样的:

$.ajax({ 
     url: "/", 
     method: "POST", 
     data: { paramter : value }, 
     }); 

通过此POST请求发送的数据可以在flask应用程序wi中访问日request.form['parameter']

如果您发送的原始JSON数据,你可以通过request.json['parameter']

$.ajax({ 
     url: "/", 
     method: "POST", 
     data: JSON.stringify("{'paramter': 'value'}"), 
     contentType: 'application/json;charset=UTF-8' 
     }); 

访问数据,这应该工作。