我正在使用Tornado框架开发Web应用程序。目前我正在研究前端视图。 该页面实际上显示了一个id列表和一个关于该id的小注释。 (它是一个有两列的表)
id --------注意
100 -----注意100
101 -----关于101的注释
![包含id上的链接和id上的注释的表] [1]
动态显示ID。当我点击id(它是一个link-anchor标签)时,它应该带我到另一个页面,其中包含有关该id的所有详细信息。
方法 - 我想创建一个cookie,它将存储被点击的id的值,并在tornado处理程序中获取cookie并检索有关该id的所有信息并将其发送到下一个视图。
到目前为止的代码是 -
HTML
<table class="table table-striped" id="tableid">
<tbody>
<tr>
<th>Config ID</th>
<th>Note</th>
</tr>
<tr>
{% for d in data %}
<td>
<a onclick = "configidCreateCookieFunction()" href="/SelectedConfig" name = "configid" id ="configid">{{ d[0] }}</a></td>
<td> {{ d[1]}}</td>
{% end %}
</tr>
<tbody>
</table>
</div>
所以点击链接会存储id的值,然后链接指向一个处理程序,我可以获取cookie并检索有关该id的更多信息。
的JavaScript
<script type="text/javascript">
function configidCreateCookieFunction(){
var cid = document.getElementById("configid").innerHTML;
sessionStorage ['configid'] = cid
}
龙卷风代码 -
class SelectedConfigHandler(BaseHandler):
def get(self):
configid= None
configid = self.get_cookie("configid")
print configid
但这不起作用。当我打印id -its时显示为None。
所以基本上我无法提取作为链接的id的值,而id基本上来自数据库 请帮帮我。我的方法是否正确?
先谢谢
答案 0 :(得分:0)
这里的数据库在哪里?因为您使用id
为什么不访问数据库,比如MongoDB
。
您必须知道,Cookie会随您的http
消息一起发送和接收,因此您必须注意这一点,除非您想制作local storage
,但在此,您必须保证,您的用户使用HTML5
浏览器,并首次发送数据以存储在客户端。
所以我建议的方法是使用数据库,并使用隐藏的<input>
,其值为id
。