0

我想通过使用 Ajax 和 jQuery 在 PHP 和 JavaScript 之间传递一个 php 类实例。

我需要在 JavaScript 中访问数据属性并在 PHP 中执行方法。以下代码显示了我的意思:

索引.php

<?php require_once("php/foo.php") ?>
var bar = <?php echo json_encode(new foo()); ?>;

// do something with 'bar'
$.post("ajax/foo.ajax.php", { foo : bar }, function(data) {});

foo.ajax.php

require_once("php/foo.php);

if (isset($_POST["foo"]))
{
   $bar = $_POST["foo"];
   // do something with 'bar'
   echo json_encode($bar);
}
4

1 回答 1

1

PHP 中确实没有一种机制来实现这一点。您可以使用序列化和反序列化来保留对象结构,并且 json_encode 会将所有公共属性从您的对象中提取出来,但 json_decode 会将其返回到 PHP 中的 StdObject(标准对象)的状态。

一种解决方法是迭代返回的属性并在您的对象中重置它们。

于 2012-05-23T16:55:29.063 回答