如何将数据加载到Javascript对象中
How to Load Data into Javascript Objects
我目前正在编写一个web应用程序,该应用程序需要将服务器中的一些数据存储在Javascript对象中。需要加载的数据量非常小,可能在1KB左右。我面临着如何将数据加载到应用程序中的决定。以下是我可以走的两条明显的(无论如何)路径:
1-使用jQuery的文档就绪功能,我向服务器发出AJAX请求,并将响应存储在适当的Javascript对象中。它可能看起来像这样。
$(function() {
$.get('index.php?get=data', function(data) {
myObj.addData(data);
});
});
2-另一种选择是在初始页面请求期间将数据与页面一起发送。为了做到这一点,我会让我的服务器生成数据,并在<script>
标记之间的标记中输出它。由于我目前的项目是用PHP编写的,它看起来像这样:
...
</div>
<script>
window.myData = <?= json_encode($myData) ?>;
</script>
...
jQuery文档就绪函数稍后将查找名为window.myData
的全局变量,并将其加载到适当的Javascript对象中,如下所示:
$(function() {
myObj.addData(window.myData);
});
有没有一种将数据加载到Javascript对象中的首选方法?虽然存储的数据量相对较小,但如果服务器的ping不好,AJAX调用可能会导致更长的等待时间。然而,当涉及到这些事情时,AJAX调用似乎更受欢迎。有正当理由吗?
编辑:数据很少会被更改(可能一年一次)。因此,浏览器缓存应该不是什么大问题。
使用$.getJSON方法:
$.getJSON('/functions.php', { get_param: 'value' }, function(data) {
$.each(data, function(index, element) {
$('body').append($('<div>', {
text: element.name
}));
});
});
OR可以使用$.each()函数循环遍历数据:
$.ajax({
type: 'GET',
url: 'http://example/functions.php',
data: { get_param: 'value' },
dataType: 'json',
success: function (data) {
$.each(data, function(index, element) {
$('body').append($('<div>', {
text: element.name
}));
});
}
});
相关文章:
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 循环遍历以数组为值的Javascript对象
- 从ajax请求中获取javascript对象
- 如何从对象的原型方法访问JavaScript对象属性
- 将XML转换为普通的旧JavaScript对象
- 通过引用传递JavaScript对象
- javascript对象操作:根据指定条件选择属性
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 如何在异步函数中使用javascript对象
- 临时Javascript对象
- 如何在ASP中为用户控件添加Javascript对象网
- 使用数组向下搜索Javascript对象
- Rails将JavaScript对象存储到Model的有效方式
- JavaScript对象不是从原型链继承的
- 如何创建具有默认值的JavaScript对象字段?(AngularJS模型相关)
- SetInterval在javascript对象中表现怪异
- Javascript 对象和 this 关键字
- 如何在不知道关键字的情况下访问javascript对象值
- 在 JavaScript 对象中设置要使用的运算符的属性
- 如何搜索JavaScript对象并更改值