将PHP设置与Javascript通信的最佳方法是什么?

DAD*_*ADU 5 javascript php xml settings

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

为什么设置服务器端的所有设置而不是部分客户端,部分服务器端? 因为应用程序肯定是在PHP中,但Javascript部分可能是用简单的Javascript,JS Prototype,jQuery编写的......所以这样我们就可以为整个应用程序保留一组独立于Javascript层的PHP函数.

我自己一直在考虑几种解决方案:

1.通过隐藏的表格字段:

<input typ="hidden" name="settings" value="JSON encoded settings" />
Run Code Online (Sandbox Code Playgroud)

缺点:

  • 可在源代码中直接查看.
  • 隐藏输入意味着提交隐藏数据,而不是获取数据.

2.使用Ajax

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

好处:

  • 清洁
  • 客户端只能请求所需的设置.

缺点:

  • 页面加载较重

3.直接通过源设置文件(XML)

好处:

  • Javascript和PHP代码完全解耦(关于设置).

缺点:

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

还有别的吗?

编辑:为2号增加了一个优势

mar*_*kus 2

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

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

Zend Framework 有一个很好的JSON 编码/解码组件