Javascript highchart.js中的Ajax调用

Javascript highchart.js中的Ajax调用,javascript,asp.net-mvc,highcharts,Javascript,Asp.net Mvc,Highcharts,大家好:-) 我想问一个关于在highchart.js库中调用Ajax的问题 我有一些通过Ajax返回的值,这些值基于我提供给后端的信息(这是一个MVC.NET项目),然后我想在每个div中使用gainChart类呈现一个新图表(我添加ID是为了其他目的,所以不要打扰它们:-)) 返回的数据与预期的一样(不同的字符串),但没有显示任何内容-仅显示图表的背景。有人能给我一个如何解决这个问题的线索,以及为了解决我的问题需要改变什么吗 提前谢谢 jQuery$.ajax方法调用不会返回此调用产生的数据

大家好:-)

我想问一个关于在highchart.js库中调用Ajax的问题

我有一些通过Ajax返回的值,这些值基于我提供给后端的信息(这是一个MVC.NET项目),然后我想在每个div中使用gainChart类呈现一个新图表(我添加ID是为了其他目的,所以不要打扰它们:-))

返回的数据与预期的一样(不同的字符串),但没有显示任何内容-仅显示图表的背景。有人能给我一个如何解决这个问题的线索,以及为了解决我的问题需要改变什么吗


提前谢谢

jQuery
$.ajax
方法调用不会返回此调用产生的数据,因此无法编写
myData=$.ajax()
。您必须使用
success
回调来获取数据,然后使用它

因此,例如,不要写这个:

categories: [
    $.ajax({
        type: "POST",
        url: "forex-copy-points-days",
        data: { page: 0, perPage: 5, iterator: iteratorJs },
        dataType: 'json',
        async: false,
        success: function (data) {
            var daysArr = data.days;
            JSON.stringify(daysArr);
            categories = daysArr;
            console.log(daysArr);
       }
    })
]
你应该这样写:

$.ajax({
    type: "POST",
    url: "forex-copy-points-days",
    data: { page: 0, perPage: 5, iterator: iteratorJs },
    dataType: 'json',
    async: false,
    success: function (data) {
        // create graph from AJAX call results
        var chart = new Highcharts.Chart({
            xAxis: {
                categories: JSON.stringify(data.days)
            },
            series: [{
                data: JSON.stringify(balances.balances)
            }]
        });
   }
});

谢谢你的回答。我有一个问题-我是否应该删除脚本开头的var chart=new Highcharts.chart代码,因为我将在ajax成功回调中进行渲染?谢谢,大家好。:)实际上我保留了它,但它已被移到成功回调的主体中。老实说,我建议您在尝试绘制图形之前先尝试熟悉jQuery和AJAX。例如,您可以使用
console.log()
来显示您从ajax调用中得到的结果。正如您在我的第一条评论中所看到的,我使用console.log()来显示ajax调用的结果。无论如何,我会尝试你的建议,并写一封反馈信。:-)嘿,这里,只需要添加一个iterrator,用这个类为每个div生成Highchart渲染,然后添加它。其他一切都按预期进行。谢谢你,梅托勒!我知道这是一个老生常谈的答案,但我正试图找出如何从.ajax查询中返回的数据集中获取特定数据。您的示例显示了
数据.days
余额.balances
,但我想知道如何获得更像
数据.days
数据.balances
(都来自
数据
$.ajax({
    type: "POST",
    url: "forex-copy-points-days",
    data: { page: 0, perPage: 5, iterator: iteratorJs },
    dataType: 'json',
    async: false,
    success: function (data) {
        // create graph from AJAX call results
        var chart = new Highcharts.Chart({
            xAxis: {
                categories: JSON.stringify(data.days)
            },
            series: [{
                data: JSON.stringify(balances.balances)
            }]
        });
   }
});