无法获得Nvd3图表的json提要

unable to get json feeds for Nvd3 chart

本文关键字:json 提要 Nvd3      更新时间:2023-09-26

我正在使用NVD3图表库。我从不同类型的图形/图表的例子中创建了一些基本的图表,其中包含一些硬编码的虚拟数据,并且工作良好。我能够用硬编码的数据呈现图表。现在我想渲染图表与Json feed来自另一个URL,但我在从URL获取Json数据有问题。到目前为止,我已经尝试了不同的解决方案,从不同的网站,但未能得到数据。我已经尝试了nvd3库

d3.json('http://nvd3.org/examples/cumulativeLineData.json', function(data) {
....
...
.
}   

,但这没有工作,并给出以下错误在控制台Chrome

Origin null is not allowed by Access-Control-Allow-Origin.

虽然FireFox没有给出任何错误,并显示状态"200 ok",但我仍然无法从文件中获取数据。然后我试着

$.get("http://nvd3.org/examples/cumulativeLineData.json", function (jsonp) {
    var processImages = function (data) {
        alert('ok' + data);
    }   
});

但是在chrome和Firefox中得到相同的结果。我尝试JsonP获得json格式的文件,如

$.ajax({
       url: 'http://nvd3.org/examples/cumulativeLineData.json',
       dataType: 'jsonp',
       success: function(dataWeGotViaJsonp){
            console.log("data we got "+dataWeGotViaJsonp);
       }
 });

但无法获取数据。它显示没有错误,也没有任何数据。我试图访问的json文件是直接通过浏览器访问(即没有登录安全等需要访问它),它包含的数据如下

[
  {
    "key": "Series 1",
    "values": [ [ 1025409600000 , 0] , .... , [ 1330491600000 , 93.388148670744]]
  },
  {
    "key": "Series 2",
    "values": [ [ 1025409600000 , 0] , .... , [ 1330491600000 , -6.4417038470291]]
  },
  {
    "key": "Series 3",
    "values": [ [ 1025409600000 , 0] , .... , [ 1330491600000 , 86.946444823715]]
  },
  {
    "key": "Series 4",
    "values": [ [ 1025409600000 , -7.0674410638835] , .... , 61.099720234693]]
  }
]

我试了很多方法,但都解决不了。是我遗漏了什么还是做错了什么?

默认情况下,大多数浏览器不允许跨域请求。要启用跨域请求,请让服务器设置标题Access-Control-Allow-Origin: *。有关详细信息,请参阅W3C关于跨域资源共享的建议。对于IE9, d3。xhr对跨域请求使用非标准的XDomainRequest。参见api参考D3请求。