Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.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
有没有像node.js那样将对象从php传递到javascript的方法_Php_Node.js - Fatal编程技术网

有没有像node.js那样将对象从php传递到javascript的方法

有没有像node.js那样将对象从php传递到javascript的方法,php,node.js,Php,Node.js,我正在尝试将node.js中编写的应用程序移植到客户端的php,我需要知道是否有一种方法可以将对象从php传递到javascript,如下所示: <script> var a = <%- instance %>; a.someMethod(); </script> 变量a=; a、 somethod(); 您可以简单地执行此操作 <script> var a = <? = $phpvar;?>; a.some

我正在尝试将node.js中编写的应用程序移植到客户端的php,我需要知道是否有一种方法可以将对象从php传递到javascript,如下所示:

<script>
    var a = <%- instance %>;
    a.someMethod();
</script>

变量a=;
a、 somethod();
您可以简单地执行此操作

<script>
  var a = <? = $phpvar;?>;
  a.someMethod();
</script>

变量a=;
a、 somethod();

编辑:无需担心。我误读了,认为您的意思是“变量”而不是对象。

您可以使用json将数据从PHP传递到JS

可能是这样的事情:

php 在你看来
最好的办法是先将数据编码为JSON格式

你的数据

$data = array(
  "foo" => "bar",
  "hello" => "world"
);
你的剧本

<script>
  var data = JSON.parse(<?php echo json_encode($data) ?>);
</script>
您的PHP服务器必须对此路由作出响应

// response to /api/people.json
header("Content-type: application/json");
var $data = array(
  "foo" => "bar",
  "hello" => "world"
);
echo json_encode($data);
exit;
JavaScript控制台输出

{foo: "bar", hello: "world"}

不,我不认为你能。你想在var中输入什么?你主要是在问如何将一个PHP对象作为JSON数据转储,以便在客户端的javascript中使用它吗?我真正需要做的是使用.someMethod()来实现它的价值,一个node.js应用程序很难移植到像PHP这样死板的东西上或者更好:
但仍然不起作用。如果你对答案不满意/不认为它有建设性,你可以删除你的答案,等等。我是新来的。我该如何删除它?我只看到共享/编辑/标记。谢谢。值得注意的是,这不允许您在该对象上调用PHP方法-它是在
JSON.parse
之后的JS对象,JS不知道您的PHP对象或其方法。@chesles您是对的!但是,如果他只是想传递数据,它是有效的:)我可以通过将对象编码成json格式来使用对象中的方法吗?如果需要在JavaScript中调用对象上的方法,则需要“远程过程调用”(或RPC)。如果您不熟悉这些概念,它们会有一点学习曲线,但您可能希望从PHP的原生支持开始
<script>
  var data = JSON.parse(<?php echo json_encode($data) ?>);
</script>
// using (e.g.,) jquery
var loadPeople = function(data) {
  console.log(data);
};

$.getJSON('/api/people.json').done(loadPeople);
// response to /api/people.json
header("Content-type: application/json");
var $data = array(
  "foo" => "bar",
  "hello" => "world"
);
echo json_encode($data);
exit;
{foo: "bar", hello: "world"}