将PHP对象发送回ajax调用

时间:2014-04-20 16:22:37

标签: php ajax oop

我正在学习PHP OOP,并习惯了所有这些对象。我找不到一个小问题的答案(也许这很明显,但我是对象的新手......):

当我在通过$ .ajax函数调用的PHP文件中创建对象时,我想回复一下。 但是我该如何将对象发送回我的ajax调用呢?在OOP之前,我将所有内容放入一个数组中,然后将json_encode()放入数组中,一切都运行良好。如何使用OOP进行调整?

非常感谢您的回答 罗曼

示例:

在客户端

$.ajax(
{
  url:"test.php",
  type:"POST",
  dataType:"json",
  success(function(json))
  {
    // json into template
  }
});

在服务器端:test.php

require_once("bdd.php");

function loadClass($class)
{
require $class.".class.php";
}

spl_autoload_register('loadClass');

$PersonneM = new PersonneManager($db);

$perso = $PersonneM->get("123456");

$perso = serialize($perso); // ????????????

header('Content-type: application/json');
echo json_encode(array("result",$perso));

2 个答案:

答案 0 :(得分:0)

@lahud:通常我们使用XML和JSON格式将数据从服务器端发送到客户端。 PHP对象仅在其服务器端使用(在php级别)。您可以使用标准数据格式(如xml和json)向客户端生成结果。

如果要存储php对象,可以使用 serialize 函数将对象存储为字符串。希望你清楚。

答案 1 :(得分:0)

@Pankaj

是的,我当然经常将JSON结果发送给我的客户端,并使用像Mustache这样的模板将其写下来。但是将$object转换为JSON的正确方法是什么?

也许:

$array = (array)$object;
header('Content-type: application/json');
echo json_encode(array("response" => $array));