2013-11-27 99 views
2

我知道,你可以簡單地通過在Python的文件return render_template('index.html', variable=newvariable)從瓶(Python)的變量傳遞到JavaScript文件從HTML文件

<script> 
var JSVAR = '{{ newvariable }}'; 
</script> 

在命名爲index.html從燒瓶​​內的變量進行單獨文件。但是如果我想將該變量傳遞給index.html文件中包含的純粹的Javascript文件呢?我想我需要使用id參數創建一個HTML「變量」,然後使用jQuery來調用它,但我無法弄清楚語法。

任何想法?

回答

2

暴露一個函數並且打一個ajax調用它並不是一個壞的方法。這種方法帶來了爲維護者留下清晰的函數調用軌跡的好處。

http://api.jquery.com/jQuery.ajax/

http://flask.pocoo.org/docs/patterns/jquery/

第二個環節有更詳細的說明,但總的想法是,你具有長頸瓶的應用程序設置爲處理來自瀏覽器的請求,並在該應用您設置了一個方法可以發送給它的請求,這會將你的變量傳遞迴js客戶端。

在js腳本中,您接着對該方法的url進行ajax調用,並具有處理響應的回調函數。這種方法可以做一些非常非常酷的事情。

如果你不熟悉ajax,它可能對谷歌的一些教程很有用。這一個是一半作爲一個體面的概述:http://www.tutorialspoint.com/ajax/ajax_in_action.htm

+0

謝謝你,我期待到現在AJAX。你能更清楚地知道哪些代碼是在哪裏?我是否在index.html文件中的

0

過這個同樣的問題剛剛來到,這裏是我做過什麼

from jinja2.environment import Template 

def render_js(): 
    file_content = open(path_to_jsfile, 'r').read() 
    template = Template(file_content) 
    return template.render(arg1='value1', arg2='value2') 
相關問題