![](/img/trans.png)
[英]What are some best practices for supporting profiling in a php application?
[英]What are some best practices for transporting data from PHP to Javascript?
我的项目变得越来越JS。 问题是我的大部分数据都在服务器端(PHP)。 有什么方法可以将这些数据传输到客户端(代码样本用于额外的布朗尼点)?
我正在考虑的一些方法 - 哪些是最好的?:
1)使用php直接“回显”js变量。 2)使用php写入HTML元素,然后使用js从dom中检索。 3)使用ajaxcall
思考?
所有这些方法都是可行的。 如上所述,它实际上取决于用例。
1)使用php直接“回显”js变量。
如果在“初始化时间”需要一些数据,这是必要的。 如果您的初始页面显示取决于某个状态变量,则无法绕过此方法。
2)使用php写入HTML元素,然后使用js从dom中检索。
我认为这是一个懒惰的选择。 它允许更新数据而无需编写两种不同的方法来检索它。 由于jQuery提供.load("file.php div.data")
您通常可以重用现有的输出模板。
3)使用ajax调用
这可能是查询的最佳选择。 特别是如果您需要来自数据库的信息或轮询某些状态,这是首选方式。 使用JSON返回数据,但更喜欢GET / POST变量用于客户端 - >服务器通信。
我更喜欢JSON和json_encode();
在php中使用ajax调用来检索它。
4)使用JSON http://www.php.net/manual/en/function.json-encode.php - 返回值是JavaScript的关联数组
我个人使用本机PHP数组并使用json_encode和json_decode来获得一个干净的Javascript可解析数组。 您可以在这里查看手册: http : //php.net/manual/en/function.json-encode.php
我发现表现最佳的方式如下。
我对执行某些操作并返回数据的PHP页面进行AJAX调用。 一旦PHP拥有它需要返回的所有数据,我就以JSON格式回显数据(作为数组)。
fetchUserInfo.php
die (
json_encode(
array(
"username" => "Dutchie",
"id" => "27"
)
)
);
然后,您可以使用javascript(虽然我建议jQuery用于AJAX浏览器兼容性)将数据提取到json对象中。
JS
$.getJSON(
'fetchUserInfo.php?',
function(jsonObject) {
alert(jsonObject.username);
}
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.