【问题标题】:Get the value of the dynamic anchor tag and pass it to the next page获取动态锚标签的值并传递给下一页
【发布时间】:2015-03-01 01:48:36
【问题描述】:

我正在使用 Tornado 框架开发一个 Web 应用程序。目前我正在研究前端视图。 这个页面实际上显示了一个 id 列表和一个关于该 id 的小注释。 (它是一个有两列的表)


id -------- 注意

100 ----- 关于 100 的注释

101 -----关于101的注释


![id 上带有链接和 id 上的注释的表格][1]

id 是动态显示的。当我点击 id(它是一个链接锚标记)时,它应该带我到另一个页面,其中包含有关该 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 时,它会显示为 None。

所以基本上我无法提取作为链接的 id 的值,并且 id 基本上来自数据库 请帮帮我。我的方法正确吗?

提前致谢

【问题讨论】:

  • 好吧,有人认为我对这个问题的部分回答是另一个问题并删除了它。我通过使用以下方法解决了这个问题 - {{d[0]}} 和以下 javascript - function submitForm(thelink) { var id = thelink.textContent;警报(ID); var hidden = thelink.closest('input'); hidden.value = id; console.log(hidden.value); var f = document.getElementById("form"); f.提交(); }

标签: javascript html session cookies tornado


【解决方案1】:

这里的数据库在哪里?既然你使用id,为什么不访问数据库,比如MongoDB

您必须知道,cookie 将与您的 http 消息一起发送和接收,因此您必须注意这一点,除非您想创建 local storage,但在这里,您必须保证,您的用户使用HTML5浏览器,并首次发送数据存储在客户端。

所以我建议的方法是使用数据库,并使用隐藏的&lt;input&gt;,其值为id

【讨论】:

  • 谢谢.. 您建议包含隐藏字段而不是 cookie - 帮助了我!!
  • 如果是涉及到隐私的东西,尽量在服务端加密解密,这样用户就不会在客户端修改了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-19
  • 2016-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多