Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将PHP对象返回到ajax调用_Javascript_Php_Jquery_Oop - Fatal编程技术网

Javascript 将PHP对象返回到ajax调用

Javascript 将PHP对象返回到ajax调用,javascript,php,jquery,oop,Javascript,Php,Jquery,Oop,我正在学习PHP OOP,并逐渐习惯所有这些对象 当我在PHP文件中通过$.ajax函数创建一个对象时,我希望返回答案。但是我应该如何将对象发送回ajax调用呢?在OOP之前,我把所有的东西都放到一个数组中,然后json\u encode()。如何使用OOP来适应这种情况 非常感谢你的回答 罗曼 例如: 在客户端 $.ajax( { url:"test.php", type:"POST", dataType:"json", success:function(json) {

我正在学习PHP OOP,并逐渐习惯所有这些对象

当我在PHP文件中通过
$.ajax
函数创建一个对象时,我希望返回答案。但是我应该如何将对象发送回ajax调用呢?在OOP之前,我把所有的东西都放到一个数组中,然后
json\u 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));

使用serialize或_u-toString创建数据的JSON表示形式,您可以将其发送到管道中。在对象周围不需要额外的数组


但是,在一些JSON解析器/解释器中存在一个错误,当未包装到数组中时,可能会弄乱数据。但是我已经几年没听说过这个问题了,所以您应该很安全

您的成功函数语法不正确。它应该是:
success:function(json){…}
。是的,对不起。无论如何,这不是问题所在。我猜你的意思是
echo json_encode(array(“result”=>$perso))在最后一行。而且-没有必要序列化对象-
json\u encode
知道如何处理自定义对象(它将使用所有
公共属性),您还应该注意,PHP在
较低的情况下工作
,因此
$personem
将是无效的标记。它应该是
$personem