通过JSON_ENCODE()传递PHP字符串(代表JS函数)
-
29-09-2019 - |
题
我正在使用此php/codeigniter库作为jQuery Highcharts: http://www.croustiz.com/php-jquery/highcharts-library-for-codeigniter/
库做事的方式是,它构建了一个选项的PHP数组,然后使用JSON_ENCODE(请参阅该库的第273行)将其转换为JSON,然后由JQuery HighCharts插件使用。这很好,除了我要使用的选项是工具提示格式器,它需要是JavaScript函数,而不是字符串(请参阅 http://www.highcharts.com/ref/#tooltip).
由于库没有工具提示函数,因此我创建了一个测试:
function set_tooltip() {
$this->a_options['tooltip']['formatter'] = 'function() { return this.series.name + "<br>" + this.x + ": " + this.y }';
return $this;
}
但这不起作用,因为JS函数作为字符串而不是函数输出。任何人都知道在通过JSON_ENCODE通过库的那部分而通过JSON_ENCODE之后是否有一种方法?
解决方案
JSON并不是要传达功能。如果您看一下 文档, ,只有四种类型的规格 - 对象,数组,字符串和数字 - 加上值 true
, false
和 null
.
如果您坚持这样做,也许是像 通过JSON发送JavaScript函数 会给你一只手。
其他提示
JSON没有“函数回调”类型,因此我认为这是不可能的。它知道 只有基本类型: string
/ number
/ object
/ array
不隶属于 StackOverflow