将数据存储在javascript数组中以供进一步使用
storing data in javascript array for further use
我有一个页面用户,其中显示了一些基本数据:个人资料照片、昵称、年龄、位置等。当你点击个人资料时,它会用ajax加载数据,并在弹出窗口中显示用户个人资料。所以你们保持一致。
但是每个ajax调用都需要一些时间来调用服务器端代码并获取数据。它并不慢,但我想让用户配置文件显示超快。我在想,如果我在获取配置文件列表的第一个位置提取所有配置文件数据,会更快。我可以提取所有的配置文件数据,而不是只在用户页面上获取一些数据。然后我可以将javascript中的数据保存为数组。当用户点击概要文件时,它不会进行ajax调用,但会从javascript数组中提取数据。这样,我认为弹出窗口会很快显示出来。
到目前为止,这只是一个想法。可以将我收到的数据存储在javascript数组中吗?或者有更好的方法吗?
使用javascript对象
在php中获取用户信息,并将其传递给html 中js中的函数
<script>buildUserInfo(array('user_id,yaz,20,male,837367.jpg',....));</script>
然后创建一个js对象,但是中的这些值
var userObject = new Object();
function buildUserInfo(data){
for(var i=0;i<data.length();i++){
var dataIn = data[i].split(',');
userObject[user_id].name = dataIn[0];
userObject[user_id].age = dataIn[1];
userObject[user_id].gender = dataIn[2];
userObject[user_id].photo = dataIn[3];
}}
然后您可以通过简单地调用对象来访问它们如果你不知道这个名字,只需拨打userObject[user_id].name
更新:对于多个用户,通过创建一个对象数组,我编辑上方的代码
我建议使用localStorage:
那么什么是HTML5存储?简单地说,这是网页在客户端web浏览器中本地存储命名键/值对的一种方式。与cookie一样,即使在您离开网站、关闭浏览器选项卡、退出浏览器或其他操作之后,这些数据也会持续存在。与cookie不同,这些数据永远不会传输到远程网络服务器(除非您特意手动发送)
尽管这是一个新功能,并非所有旧浏览器都支持,但您可以使用像jStorage这样的库来缓解这些情况。
jStorage在可用的情况下使用HTML5本地存储,并在旧版本的Internet Explorer中使用userData行为
为什么不使用JSON?像这样在页面加载时初始化json对象,您将立即获得所有数据,而无需任何ajax请求。
var users = <?php echo json_encode($users); ?>;
- 如何在映射数组中添加换行符
- javascript结合了数组和字典
- 需要帮助设置json数组
- 不能从angular2中的子组件指定父组件中的数组
- 使用JS将数组转换为json对象
- 数组在递归方法中设置为null
- knockoutjs可观察数组
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将数组从PHP传递到Javascript
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 在函数中添加数组元素的数值
- 无法通过数组映射绑定
- javascript中的数组出错
- 如何使用 node.js 比较两个 json 数组
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 根据id将json数组组合为一个json数组
- 如何通过数组更新角度子范围
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 将数据存储在javascript数组中以供进一步使用
- 如何捕获PHP脚本发送的数组作为Ajax响应并进一步使用