php - 将 PHP 设置传递给 Javascript 的最佳方式是什么?

标签 php javascript xml settings

当您构建一个在服务器端使用 PHP 设置设置的应用程序时,在页面加载时将这些设置传递给 Javascript 的最佳方式是什么?

为什么要在服务器端设置所有设置,而不是部分客户端,部分服务器端? 因为该应用程序肯定是用 PHP 编写的,但 Javascript 部分可能是用纯 Javascript、JS Prototype、jQuery 等编写的…… 因此,通过这种方式,我们为整个应用程序保留了一组独立于 Javascript 层的 PHP 函数。

我自己一直在想几个解决方案:

<强>1。通过隐藏的表单域:

<input typ="hidden" name="settings" value="JSON encoded settings" />

缺点:

  • 可在源代码中直接查看。
  • input hidden是提交隐藏数据,不是获取数据。

<强>2。使用 Ajax

一旦页面加载完毕,就会向服务器发送一个 ajax post 请求来检索设置。

优点:

  • 清洁
  • 客户端只能请求它需要的设置。

缺点:

  • 较重的页面加载

<强>3。直接通过源设置文件 (XML)

优点:

  • Javascript 和 PHP 代码完全分离(关于设置)。

缺点:

  • 设置文件加载两次(服务器端 + 客户端)

<强>4。还有别的吗?

编辑:为数字 2 添加了一个优势

最佳答案

任何格式如 yaml、json、xml 等都可以,因为您可以使用 PHP 读取它并将其转换为每种格式。

在您的情况下,也许最好的解决方案是 json 格式的配置文件。您可以在需要时直接使用 JS 和 PHP 阅读。

Zend 框架有一个很好的 JSON encoding/decoding component .

关于php - 将 PHP 设置传递给 Javascript 的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4510514/

相关文章:

php - 如何使用 PHP 将 MySQL 表备份到转储中?

php - imagettftext 和阿拉伯语 : how can I write in RTL mode?

php - MYSQL查询两个不同的列

java - JAXB:具有文本内容和属性的元素,使用 XJC 生成类

php - Yii2 - 事件记录中的传递依赖

javascript - 触发textarea ctrl-z 撤消缓冲区更新

javascript - ExtJS散点图,根据数据中的标志高亮显示某些点

javascript - 基于简单存储的路由器中不必要的重新渲染

xml - XPath-是否可以查询节点内容?

xml - 如何从第2或3页开始页码编号?