【问题标题】:How to put data in Highchart from session storage?如何将数据从会话存储中放入 Highchart?
【发布时间】:2017-01-13 09:26:00
【问题描述】:

我正在尝试从会话存储变量中加载饼图高图中的数据,但没有得到任何结果。

我想要这个:

$(function () {
Highcharts.chart('container', {
    chart: {
        type: 'pie',
        options3d: {
            enabled: true,
            alpha: 45
        }
    },
    title: {
        text: 'Contents of Highsoft\'s weekly fruit delivery'
    },
    subtitle: {
        text: '3D donut in Highcharts'
    },
    plotOptions: {
        pie: {
            innerSize: 100,
            depth: 45
        }
    },
    series: [{
        name: 'Delivered amount',
        data: [
            ['Bananas', 8],
            ['Kiwi', 3],
            ['Mixed nuts', 1],
            ['Oranges', 6],
            ['Apples', 8],
            ['Pears', 4],
            ['Clementines', 4],
            ['Reddish (bag)', 1],
            ['Grapes (bunch)', 1]
        ]
    }]
});

});

我将信息存储在这样的会话变量中:

sessionStorage.data = "['Bananas', 9], ['Kiwi', 9]";

然后,我把这个变量放在数据字段中:

$(function () {
Highcharts.chart('container', {
    chart: {
        type: 'pie',
        options3d: {
            enabled: true,
            alpha: 45
        }
    },
    title: {
        text: 'Contents of Highsoft\'s weekly fruit delivery'
    },
    subtitle: {
        text: '3D donut in Highcharts'
    },
    plotOptions: {
        pie: {
            innerSize: 100,
            depth: 45
        }
    },
    series: [{
        name: 'Delivered amount',
        data: sessionStorage.data
    }]
});

});

我做错了什么?

非常感谢!

【问题讨论】:

    标签: javascript html session highcharts session-variables


    【解决方案1】:

    您将会话数据存储为字符串,然后尝试将 Highcharts 数据设置为该字符串 - 您应该将其反序列化为 javascript 数组。

    如果您像这样更改sessionStorage.data 的格式:

    '[["Bananas", 9], ["Kiwi", 9]]'
    

    你可以使用JSON.parse来反序列化它:

    series: [{
        name: 'Delivered amount',
        data: JSON.parse(sessionStorage.data)
    }]
    

    【讨论】:

    • 有效!现在我了解了如何通过 JSON 解析在 highcharts 中使用会话数据。非常感谢!
    【解决方案2】:

    改变

    series : [[{name: 'Delivered amount',data: sessionStorage.data}]
    

    series = [[{name: 'Delivered amount',data: sessionStorage.data}]
    

    【讨论】:

    • 我不能这样做,因为 highcharts 语法必须带有“:”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 2021-10-11
    • 2015-05-06
    • 1970-01-01
    相关资源
    最近更新 更多