当您构建一个在服务器端使用 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/