2012-07-03 38 views
1

我希望將請求URL中的參數傳遞給GAE環境中的JavaScript代碼。如何通過URL將參數傳遞給GAE上的JavaScript代碼?

例如,輸入了以下URL。

http://example.com:8080/hello?key=abc

hello頁用hello.py和在下面分別示hello.tmpl呈現。

'''hello.py''' 
key = self.request.get('key') 

{# hello.tmpl #} 
<html> 
    <div id="key">{{ key }}</div> 
    <script src="hello.js"></script> 
</html> 

爲了在hello.js中引用URL中指定的密鑰,該函數可以寫成如下形式。

// hello.js 
function() { 
    console.log($('#key').text()); 
}; 

它運行良好,滿足了我原來的請求,即參數從URL傳播到JavaScript代碼。

但是,我覺得這不是一個聰明的方法。我使用div標記作爲URL和JavaScript代碼之間的緩衝區。有誰知道有更聰明的方法來做到這一點?

回答

3

您可以使用數據擴展,而不是添加一個div:

<body data-key='{{key}}'> 
    <...> 
</body> 

// hello.js 
function() { 
    console.log($('body').data('key')); 
};