• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何将数据加载到Javascript对象中

JavaScript 来源:James Hall 9次浏览

我目前正在编写一个Web应用程序,它需要将来自服务器的一些数据存储在Javascript对象中。需要加载的数据量非常小,大概在1 KB左右。我面临着如何将数据加载到应用程序中的决定。下面是这两个明显(反正我)路径我可以采取:如何将数据加载到Javascript对象中

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 
     })); 
    }); 
}); 

,或者可以通过数据使用$.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 
      })); 
     }); 
    } 
}); 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)