在UI中的元素之间传递数据

时间:2012-05-30 16:47:07

标签: javascript html model-view-controller google-app-engine

我是网络应用程序的新手,我正在尝试了解使用HTML中的数据的最佳方法。我正在使用Appengine(Python),并设法将一堆数据加载到视图中。在最简单的形式中,它是一组电影名称,每个名称都有相关的详细信息(例如年份,评级等)。现在如何在电影链接和div之间传递数据,其中将显示所有细节?我将在我的应用程序中使用jQuery进行某些控件,所以我想知道是否有办法将数据绑定到控件上?

此外,任何人都可以告诉我这方面的标准是什么,即如果我在一次通话中将所有这些数据加载到用户界面(假设它不是很多电影标题),那么它是否会让人们轻松屏幕抓这个信息?或者是否存在一些通常在这里使用的模糊处理?

很抱歉,如果我不是很清楚,但我真的是一个绝对的网络开发初学者!

UPDATE1: 我找到了jQuery data()api。这似乎有用。评论

UPDATE2: 稍后进行一些测试,结果发现data()实际上将数据附加到元素而不是在div本身中显示。

1 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点,但基本的想法是以不明显呈现的方式将数据放入HTML中,然后使用Javascript解析HTML并在需要时将数据拉出

现代浏览器最简单的方法是使用数据属性。这些是以data-开头的任何属性,您可以自己命名其余属性。例如:

<a href="/movie/1234" data-id="1234" data-title="Tsar Wars" data-actors="[Harryson Fjord, Carry Fischer]">Czar Wars</a>

在这种情况下,用户只会看到一个名为&#34; Tsar Wars&#34;但是您的javascript可以轻松访问数据属性以获取所需的数据。这种方法的另一个好处是jQuery将自动使data()api可以访问数据属性。

另一种方法是使用隐藏的HTML列表元素,列表中包含所有数据元素,但是您必须自己解析这一点。

没有标准的混淆。您需要在服务器端对自己进行模糊处理,并在JS中进行模糊处理。在js中找出任何混淆算法并不太难,所以这不值得你这么做。

如果数据确实是私有的,那么您必须将其设计为在服务器上执行所有处理。例如,仅显示令牌(如1234),并使用AJAX调用将令牌传递给服务器,以便服务器可以执行数据处理并将公开安全的结果吐回到脚本中。