gpt4 book ai didi

javascript - 有没有办法用 stdClass 从 php 到 javascript 响应匿名函数

转载 作者:搜寻专家 更新时间:2023-10-31 20:58:31 25 4
gpt4 key购买 nike

下面是我的代码

$obj = new stdClass();
$obj->xAxis = new stdClass();
$obj->xAxis->allowDecimals = false;
$obj->xAxis->labels = new stdClass();
$obj->xAxis->labels->formatter = function() { return this.value; };

return $obj;

我想在 ajax 中响应为 json,如下所示

xAxis: {
allowDecimals: false,
labels: {
formatter: function () {
return this.value;
}
}
}

最佳答案

没有。没有办法在 Javascript 中传递该函数,因为不仅 PHP 在服务器端运行,Javascript 将在客户端运行,而且当您获取该对象时,该函数将被解析为函数对象 $obj.

var_dump($obj) 的输出是

object(stdClass)#1 (1) { ["xAxis"]=> object(stdClass)#2 (2) { ["allowDecimals"]=> bool(false) ["labels"]=> object(stdClass)#3 (1) { ["formatter"]=> object(Closure)#4 (0) { } } } }

您可以看到该函数被解析为一个对象,您可能获得的最终输出根本没有该函数。不过,您将获得其余的参数和值。

{"xAxis":{"allowDecimals":false,"labels":{"formatter":{}}}}

使用 JSON,您可以在 2 种编程语言之间传递键和值,但不能传递函数。因此,只有一种选择是在 Javascript 中创建相关函数并将其用于您想要完成的任务。

如果你想在客户端使用一个函数,看看是否this answer可以提供帮助。

关于javascript - 有没有办法用 stdClass 从 php 到 javascript 响应匿名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49771505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com