在页面上存储 Ajax 请求数据的最佳方式
Best way to store data on page for Ajax requests
我生成了一个页面,其中包含由php生成的数据数组。我需要将其中一些数据用于 ajax 请求。
我只是想知道将数据存储在页面上的最佳方法是什么,它不敏感,页面不涉及表单。目前我一直在隐藏的div中使用数据属性,但似乎有点混乱?
例如。
<div id="data" class="hidden" data-question="<?= $blah ?>" data-another="<?= $blahblah ?>"></div>
虽然没有"最佳"的方法,但我推荐JSON——一种存储和交换数据的格式,似乎很适合你的情况。
而不是在 html 元素上将数据属性中存储任意数据,如下所示:
<div data-name="bob" data-age="27" data-gender="male" />
Json 允许你像这样存储它们:
people = {
"bob" : {"age":"27", "gender":"male"},
"alice" {"age":"31", "gender":"female"}
}
您可以通过几乎任何语言的本机或库调用以编程方式访问此数据,尤其是 PHP 和 JavaScript。
在 JavaScript 中,JSON 的访问方式如下:
BobsAge = people['bob'].age;
此格式允许其他编程访问,例如循环对象或键,这可能难以对 html 元素的数据属性执行。
在您的情况下,JSON 可以这样生成(尽管有更好的方法):
<script>
var data = {
<? foreach ($data as $d){ ?>
{
"question" : "<? $d['question'] ?>",
"answerswer" : "<? $d['answer'] ?>"
},
<?}?>
};
</script>
有三种可能性:
-
属性:这是你的方法
这可能最适合简单的字符串,例如参数和描述性数据 - 例如
data-popover
包含弹出框内容的元素。许多JS插件都是以这种方式构建的。 -
PHP 在
<script>
标签中的回显对于在同一文件中使用
<script>
标签的成本(以及可能使用全局 JS 变量)的成本,没有"额外标记"。我不建议这样做。 -
使用来自 PHP 的数据获取 JSON 的其他 AJAX 调用
最适合更复杂的数据结构,例如嵌套数组或对象。
相关文章:
- 在页面上记录数据并实现pushstate()的最佳方式
- 操作数据的最佳实践
- 以角度渲染表中数据的最佳方式
- 存储数据的最佳方式是什么,以便与jquery一起使用
- 在d3.json中使用d3.csv组合多个csv文件数据输入的最佳方法是什么
- 将数据绘制到C3的最佳实践
- 在我的代码中管理大量硬编码数据的最佳方法
- Ext JS - 将面板绑定到数据存储的最佳方法
- 将数据从视图传输到javascript的最佳方式
- 本地存储web数据的最佳实践
- 在线/离线数据更新移动最佳实践
- angularjs设计模式和从服务器获取数据的最佳实践
- AngularJS中使用ajax获取数据的最佳方式是什么
- Spring MVC与Google图表,创建javascript数据表的最佳方式是什么
- 更新视图和控制器之间的角度重复数据值的最佳方式是什么
- 在定期更新的 Angular 中存储和使用数据的最佳方式
- 从 Angular.js 视图中修改方法中的数据的最佳做法
- 显示具有 MVC 数据绑定视图模型 ASP.NET JQuery 对话框的最佳方式
- 当数据超过 5k 时,为动手提供条件格式的最佳方法
- 形成数据最佳实践