在构建使用PHP设置服务器的应用程序时,在页面加载时将这些设置传达给Javascript的最佳方法是什么?
为什么要将所有设置设置为服务器端而不是部分客户端,部分服务器端? 因为应用程序肯定是在PHP中,但Javascript部分可能用纯Javascript,JS Prototype,jQuery编写,... 所以这样我们就可以为整个应用程序保留一组独立于Javascript层的PHP函数。
我自己一直在考虑几种解决方案:
1。通过隐藏的表单字段:
<input typ="hidden" name="settings" value="JSON encoded settings" />
缺点:
2。使用Ajax
一旦页面加载,就会向服务器发送一个ajax post请求,检索设置。
优点:
缺点:
第3。直接通过源设置文件(XML)
优点:
缺点:
4。还有别的吗?
编辑:为数字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。