将JavaScript数据传递给页面,最佳做法?

时间:2012-04-10 03:53:46

标签: javascript

我正在编写一个Web应用程序,我需要在页面加载时将一些用户数据传递给JS应用程序。我已经确定了3种不同的方法,我想知道关于这方面的最佳实践是什么。数据不是特别敏感,但与其他数据相比,最好是更安全。

1。异步加载数据

使用类似$.ajax()的内容。我不喜欢这种方法,因为它通常会导致整个“加载”现象,我想避免。准备好数据而不是单独调用。

2。将数据刻录到页面中。

这可以通过这样做来实现

<script>
    var userdata = { somekey: somevalue }
</script>

3。使用脚本标记

发出请求

这可以通过这样做来实现

<script src="server/getdata"></script>

我知道这有点像第一种方法,因为它向服务器发出了另一个get请求。

我的问题是,上述3种方法中的任何一种都是不同的,或者在安全性方面更好。我知道所有3种方法都不是特别安全,特别是因为它可以很容易地被嗅到,但是上述任何一种方法都比其他方法更好,为什么?

1 个答案:

答案 0 :(得分:3)

在你所说的那些中,2是最好的,因为你说的原因。但是,我不会为它添加新的全局。相反,我会这样做:

<script type="text/javascript" src="application.js"></script>

创建someGlobal(以及其他内容)然后:

<script>
    someGlobal.userdata = { somekey: somevalue }
</script>

另外两种具有相同优点的方法是:

  1. data attributes。这些是data-个。您可以放置​​与特定元素相关联的任意数据(有时特定元素有意义;否则,您可以使用body)。
  2. 隐藏的表格字段。