2011-02-02 37 views
2

我的项目越来越重JS。问题是我的大部分数据都在服务器端(PHP)。什么是将这些数据传输到客户端的一些干净方式(代码示例为额外的布朗尼分)?将数据从PHP传输到Javascript的一些最佳实践是什么?

我正在考虑一些方法 - 哪些是最好的?:

1)使用PHP来“回声”直接把JS变量。 2)使用PHP写入HTML元素,然后使用js从dom中检索。 3)使用AjaxCall的

的思考?

+0

上述所有的,这取决于在特定的情况下,这个问题还真是广阔的。 – 2011-02-02 19:41:51

回答

4

所有这些方法都是可行的。如上所述,这实际上取决于用例。

1)使用php直接“回显”到js变量。

如果您在“初始化时”需要某些数据,这是必需的。如果您的初始页面显示取决于某个状态变量,则无法绕过此方法。

2)使用php写入HTML元素,然后使用js从dom中检索。

我认为这是懒惰的选项。它允许更新数据而无需编码两种不同的方式来检索它。由于jQuery提供.load("file.php div.data"),您经常可以重用现有的输出模板。

3)使用AJAX调用

这可能是用于查询的最佳选择。特别是如果您需要从数据库获取信息或查询某种状态,这是首选方式。使用JSON来返回数据,但更喜欢GET/POST变量进行客户端 - >服务器通信。

2

我使用Ajax调用以检索在PHP喜欢JSON与json_encode();

1

的方式,我发现执行最好的是如下。

我做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); 
    } 
); 
相关问题