簡體   English   中英

將數據從javascript傳遞到Flask

[英]Passing data from javascript into Flask

我知道如何將帶有jinja模板的數據從python傳遞到javascript,但我想將一個javascript變量傳遞給python。 我想在不重新加載頁面的情況下這樣做。 那可能嗎?

我在我的項目中做了類似的工作,想在這里分享我的代碼。 我需要找出選擇了哪個帖子,並且我將所選帖子設置為服務器端的全局變量,以便我可以將其用於以后的比較。 這就是我將所選帖子傳遞給Javascript的方法。

<a class="label label-primary"  onclick="myFunction({{very.id}})" > Compare</a>

現在從Javascript到Flask。

function myFunction(x) {
        $.getJSON($SCRIPT_ROOT + '/check_selected', {
        post: x
        }, function(data) {
            var response = data.result;
            console.log(response);
            }
        });
}

這是我使用JSON從flask返回結果的方法。

import json
@main.route('/check_selected', methods=['GET','POST'])
def check_selected():
    global selected
    post = request.args.get('post', 0, type=int)
    return json.dumps({'selected post': str(post)});

如前所述在這里 ,我們需要包括谷歌AJAX API以加載jQuery的:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="{{
  url_for('static', filename='jquery.js') }}">\x3C/script>')</script>

是的,就像monkut所說 - 我相信你想要使用JSON和Javascript / jQuery。

這將允許從客戶端到服務器的通信再返回。

我找到的最適用的例子是Flask片段/模式: http//flask.pocoo.org/docs/patterns/jquery/

從您的視圖代碼創建一個JSON字符串,例如jsonData並在您的Jinja模板中編寫類似的內容

<script type="text/javascript">
    var data = {{ jsonData }};
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM