我正在使用这个 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 后成为一个函数而不重写库的那部分?
最佳答案
JSON 并不意味着传递函数。如果你看一下documentation ,只有四种类型的规范 - 对象、数组、字符串和数字 - 加上值 true
、false
和 null
。
如果您坚持这样做,也许可以阅读类似 Sending Javascript Functions Over JSON 的文章会给你帮助。
关于php - 通过 json_encode() 传递 PHP 字符串(代表 JS 函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3924810/