javascript - 在页面上存储 Ajax 请求数据的最佳方式

标签 javascript php jquery ajax

我生成了一个页面,其中包含 php 生成的数据数组。我需要将其中一些数据用于 ajax 请求。

我只是想知道在页面上存储数据的最佳方式是什么,它不敏感并且页面不涉及表单。目前我一直在隐藏的 div 中使用 data- 属性,但看起来有点困惑?

例如。

<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)的 native 或库调用以编程方式访问此数据。

在 JavaScript 中,JSON 的访问方式如下:

BobsAge = people['bob'].age;

此格式允许其他编程访问,例如循环对象或键,这可能很难在 html 元素的数据属性上执行。

在你的情况下,JSON 可以像这样生成(尽管有更好的方法):

<script>
var data = {
<? foreach ($data as $d){ ?>
    { 
        "question" : "<? $d['question'] ?>",
        "answer" : "<? $d['answer'] ?>" 
    },
<?}?>
};
</script>

关于javascript - 在页面上存储 Ajax 请求数据的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19552832/

相关文章:

javascript - 使用 AngularJS 过滤多个定义列表中的多个数组

javascript - 循环 javascript 多选表单元素

PHP SOAP SSL 问题

php - 对于 Drupal 来说,能够在上线时将其移动到不同服务器的最佳开发环境是什么?

javascript - jQuery 嵌套插件选择器问题

javascript - 下拉 javascript 问题

php - 将 COUNT() 理解为 `count`

jquery - 从 div 中删除最后一个分隔符

javascript - 我的简单按钮有什么问题?

javascript - 根据动态样式属性的存在来定位元素 - Jquery