我正在将这个PHP / CodeIgniter库用于jQuery Highcharts:http://www.crustiz.com/php-jquery/highcharts-library-for-codeigniter/
库的工作方式是构建一个PHP数组选项,然后使用json_encode将其转换为json(参见该库的第273行),然后由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之后是否有办法让它成为一个函数而不重写那部分库?
答案 0 :(得分:2)
JSON并不意味着传达功能。如果您查看documentation,则只有四种类型的规范 - 对象,数组,字符串和数字 - 加上值true
,false
和null
。
如果你坚持这样做,或许像Sending Javascript Functions Over JSON这样的文章可以帮助你。
答案 1 :(得分:1)
JSON没有“函数回调”类型,所以我认为这是不可能的。它知道only the basic types:string
/ number
/ object
/ array