【问题标题】:Highcharts with Ajax call returning JSON file带有 Ajax 调用返回 JSON 文件的 Highcharts
【发布时间】:2014-07-16 10:38:34
【问题描述】:

我正在尝试将 Highcharts 与返回 JSON 文件的外部服务器一起使用,但我无法将返回的文件绑定到图表。我正在用 ASP.NET MVC 开发应用程序

我的代码尝试在这里:http://jsfiddle.net/Q6ngj/2/

jQuery.ajax({
    url: urlM4AirTemp,
    dataType: 'jsonp',
    cache: true,
    jsonp: false,
    jsonpCallback: 'ourCallbackM4AirTemp'}).done(function (airTempData) {

        var msg = airTempData.table.rows;
        var intYr;
        var intMonth;
        var intDay;
        var intHour;
        var intMin;
        var intSec;
        jQuery.each(msg,function(i,value){
        intYr = value[0].substring(0,4);
        intMonth = value[0].substring(5,7)-1;
        intDay = value[0].substring(8,10);
        intHour = value[0].substring(11,13);
        intMin = value[0].substring(14,16);
        intSec = value[0].substring(17,19);
        var d = new Date(intYr,intMonth,intDay, intHour,intMin, intSec);
        d =d.toUTCString();

        d=Date.parse(d);
        airTemp.push([d,value[1]]);
        }); 

    //Load up Graph
    options.series[0].data = airTemp;

    chart = new Highcharts.Chart(options);
});
};

ajax 是在这里调用的正确方法还是应该使用 getJSON?

【问题讨论】:

    标签: javascript jquery ajax json highcharts


    【解决方案1】:

    在第一行(jsfiddle 处的脚本):

    (function(){
    

    最后:

    })();
    

    并且远程文件中的整个 json 应该被包裹在 ourCallbackM4AirTemp(); 中。

    【讨论】:

    • 对 jsfiddle jsfiddle.net/Q6ngj/5 进行了建议的编辑,但图表仍未呈现?
    • jsfiddle.net/Q6ngj/6 - 22 行错误,但带有数据的远程文件仍然不是 jsonP!如果文件 http://erddap.marine.ie/erddap/tabledap/IMI-WaveBuoyForecast.json?time,significant_wave_height&time%3E=2013-08-14T00:00:00Z&stationID=%22M6%22 不是您的 - 您必须使用代理获取它,然后使用 ourCallbackM4AirTemp(); 进行包装
    【解决方案2】:

    我在 jsFiddle 中看到的两个问题:

    • jsonpCallback: ('ourCallbackM4AirTemp'); -> 删除 ;,它会破坏 js 代码
    • 你的 JSONP 是简单的 JSON,所以它不起作用,请阅读 JSON 和 JSONP 之间的区别

    【讨论】:

    • 使用 'getJson' 会是更好的方法吗,类似于此处给出的示例 highcharts.com/docs/working-with-data/…
    • DaveMc,这正是我要说的。
    • 哦,对了。还没有在@Krzysiek 答案中看到那部分。正是 Highcharts 在教程中写的内容。
    猜你喜欢
    • 2016-12-15
    • 2013-10-09
    • 1970-01-01
    • 2020-07-15
    • 2015-08-26
    • 1970-01-01
    • 2016-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多