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

时间:2010-12-22 15:08:25

标签: php javascript xml settings

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

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

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

1。通过隐藏的表单字段:

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

缺点:

  • 可直接在源代码中查看。
  • 输入隐藏是为了提交隐藏数据,而不是为了获取数据。

2。使用Ajax

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

优点:

  • 清洁
  • Clientside只能请求所需的设置。

缺点:

  • 较重的页面加载

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

优点:

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

缺点:

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

4。还有别的吗?

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

2 个答案:

答案 0 :(得分:2)

php可以生成你知道的javascript ...

<script type="text/javascript">
    var my_var = '<?php $my_var ?>';
</script>

答案 1 :(得分:2)

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

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

Zend Framework有一个很好的JSON encoding/decoding component