我的项目越来越重JS。问题是我的大部分数据都在服务器端(PHP)。什么是将这些数据传输到客户端的一些干净方式(代码示例为额外的布朗尼分)?将数据从PHP传输到Javascript的一些最佳实践是什么?
我正在考虑一些方法 - 哪些是最好的?:
1)使用PHP来“回声”直接把JS变量。 2)使用PHP写入HTML元素,然后使用js从dom中检索。 3)使用AjaxCall的
的思考?
我的项目越来越重JS。问题是我的大部分数据都在服务器端(PHP)。什么是将这些数据传输到客户端的一些干净方式(代码示例为额外的布朗尼分)?将数据从PHP传输到Javascript的一些最佳实践是什么?
我正在考虑一些方法 - 哪些是最好的?:
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变量进行客户端 - >服务器通信。
我使用Ajax调用以检索在PHP喜欢JSON与json_encode();
。
4)使用JSON http://www.php.net/manual/en/function.json-encode.php - 返回的值是对JavaScript
关联数组我personnally使用原生PHP数组,并使用json_encode和json_decode在它得到一个干净的Javascript的解析的阵列。你可以看看这里的手册:http://php.net/manual/en/function.json-encode.php
的方式,我发现执行最好的是如下。
我做AJAX调用执行一些动作,并返回数据的PHP页面。一旦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);
}
);
上述所有的,这取决于在特定的情况下,这个问题还真是广阔的。 – 2011-02-02 19:41:51