javascript - 可以用 JSON 发送 javascript 函数吗?

标签 javascript ajax json callback highcharts

我正在使用Highcharts显示图表:当文档准备好时,ajax 请求将获取数据(JSON 格式)并使用一些默认数据和一些动态数据(点)初始化 chart 对象:

$('document').ready(function() {

    var chart;

    $.ajax({
        url: "{{ path('stats_update') }}",
        type: "POST",
        dataType: "json",
        success: function(data){
            data.chart.renderTo = 'chart'; // id of the div element
            chart = new Highcharts.Chart(data); // inizialize chart object
        }
    });

}); // end of document.ready

到目前为止,一切都很好,除了我必须发回一些回调时。它不起作用,我找不到原因。图表“卡住”并且不显示工具提示:

这是格式化程序函数回调应该如何初始化(工作):

var chart = new Highcharts.Chart({
    tooltip: {
        formatter: function() { return this.x; }
});

这就是我使用 JSON 发回回调的方式:Twig 模板引擎手动输出 JSON - 无 json_encode(不起作用):

{
   "tooltip" : {
      "formatter" : "function() { return this.x; }"
   }
}

使用 jQuery 解析 JSON 没有错误。我想我不是 javascript 也不是 jQuery 专家...感谢您的帮助。

最佳答案

twig 模板中的函数将作为字符串而不是函数输出。

$.ajax({
    url: "{{ path('stats_update') }}", 
    type: "POST", 
    dataType: "json",
    success: function(data){
        data.chart.renderTo = 'chart'; // id of the div element
        data.tooltip.formatter = eval('(' + data.tooltip.formatter + ')');
        chart = new Highcharts.Chart(data); // inizialize chart object
    }
});

关于javascript - 可以用 JSON 发送 javascript 函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7720073/

相关文章:

javascript - 在 JavaScript 中遍历类对象内部的字典

Javascript AJAX 加载一个链接,但不加载另一个链接

json - 重命名的 JSON 字段

c# - Azure JSON 响应反序列化 C#

javascript - 在 Node JS 中访问 JSON 的属性

Javascript location.replace(url) 总是在 IE7 中提供缓存副本

javascript - Node js中唯一的json数据对象

javascript - toLocaleString 给出错误的 12 小时时间

php - 通过 Ajax 在 Javascript 到 PHP 之间保留真正的 ARRAY OBJECT?

javascript - 如何使用 jquery 和 deferreds 改进 Ajax 调用?