2016-10-08 122 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' 
     }); 

訪問數據,這應該工作。