PHP - > JS通过AJAX - 数据类型

时间:2015-06-08 12:57:19

标签: javascript php ajax json

我需要使用arrayPHPJS获得AJAX

我使用标准的ajax调用,数据作为对象返回。

我可以使用Jquery轻松完成此操作。

在线阅读了很多帖子后,通常的做法是寄回JSON

我的问题是,为什么要使用JSON。如果我要使用它,我需要将数组转换为JSON PHP端(服务器端),然后在JS(客户端)解析它以便能够遍历它。

如果需要这些额外步骤,为什么要使用JSON,为什么不从PHP解析一个对象。

我错过了一些明显的东西吗?

3 个答案:

答案 0 :(得分:9)

  

我使用标准的ajax调用,数据作为对象返回。

不,不是。数据以某种(可能)文本格式(例如JSON)发送。

然后,某些代码会将其转换为对象。如果服务器发回Content-Type: application/json标头或者在选项中指定dataType: "json",jQuery(例如)将自动执行此操作。

  

我的问题是,为什么要使用JSON。

是:

  • 基于JavaScript的原生数据模型(包括程序员最关心的东西:有序数组,命名事物的集合,数字,布尔值和字符串)
  • 简单
  • 很好地支持多种语言的图书馆
  

如果需要这些额外的步骤,为什么要使用JSON,为什么不从PHP解析一个对象。

你无法从PHP传回“对象”,因为对象只是程序对计算机RAM中一堆数据如何相互关联的理解。

将它发送到另一台计算机将类似于将想法发送到另一个大脑。

您必须先将它们翻译成共享的可传输语言。

答案 1 :(得分:0)

JSON是 - 你是对的 - 顺便说一句。

JSON很简单&快速解析JavaScript。 JSON:JavaScript Object Notation。

更容易&解析比xml更快,过去的方式。

Json或XML,导致Php对象无法传递给JS ... 但你很容易转换:json_encode(phparray)

就是这样:json是php和JS常见的方式......

答案 2 :(得分:0)

答案很简单:

PHP 服务器端语言,由PHP的zend引擎解释,其中 javascript 客户端语言,由 javascript引擎解释。

所以 javascript引擎无法理解 PHP对象这就是我们将 PHP对象转换为 PHP的zend引擎以及 javascript引擎