繁体   English   中英

将数据从PHP传输到Javascript有哪些最佳实践?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM