Javascript 返回带有cURL的JSON文件以使用HighCharts股票图表中的数据

Javascript 返回带有cURL的JSON文件以使用HighCharts股票图表中的数据,javascript,php,json,curl,highcharts,Javascript,Php,Json,Curl,Highcharts,我正在尝试使用cURL从另一台服务器将免费的JSON油价数据源转换成HighCharts StockChart 我目前掌握的守则如下: <div id="container" style="width:100%; height:400px;"> <?php $ch = curl_init('https://www.quandl.com/api/v1/datasets/CHRIS/ICE_B1.json'); $data = curl_exec(

我正在尝试使用cURL从另一台服务器将免费的JSON油价数据源转换成HighCharts StockChart

我目前掌握的守则如下:

<div id="container" style="width:100%; height:400px;">      
  <?php

    $ch = curl_init('https://www.quandl.com/api/v1/datasets/CHRIS/ICE_B1.json');
    $data = curl_exec($ch);
    curl_close($ch);

    ?>  

  <script>      
    $(function () {

      $.getJSON('$data', function (data) {
        // Create the chart
        $('#container').highcharts('StockChart', {
          rangeSelector : {
            selected : 1
          },
          title : {
            text : description
          },
          series : [{
            name : name
            data : data
          }
        }]
      });

    });
    });
  </script>
</div>

$(函数(){
$.getJSON(“$data”,函数(数据){
//创建图表
$(“#容器”).highcharts('StockChart'{
范围选择器:{
选定:1
},
标题:{
正文:说明
},
系列:[{
姓名:姓名
数据:数据
}
}]
});
});
});
但所有这些只是将原始JSON转储到我的浏览器窗口中,而不是制作一个漂亮的图表


任何帮助都将不胜感激

您试图同时使用PHP
CURL
和jQuery
getJSON
,我认为您有点困惑

CURL是由服务器执行的,通过这种方式,每当它得到结果时,它只打印结果,它甚至不将结果存储在
$data
中,因为为此,您需要初始化CURL以等待响应
CURL\u setopt($CURL,CURLOPT\u RETURNTRANSFER,1)。如果将结果保存在PHP变量
$data
中,则此变量在Javascript中不可用,因为Javascript是在客户端计算机上执行的,而不是在服务器上执行的。要解决这个问题,你可以这样做

<php echo "<script> data = ".$data."; </script>"; ?>

因为
getJSON
正是您尝试使用
curl
函数所做的:从您提供的url获取
json
数据,并将其存储在名为
data

的变量中,检查javascript中的右括号,它们没有对齐是的,我很困惑!我试图使用cURL,因为HighCharts说JSON不能跨域。我尝试了你的两种解决方案,但我得到的都是一无所获。没有错误,也没有漂亮的图表:(啊,在这种情况下,把我在答案中写的
CURLOPT_RETURNTRANSFER
行和echo行都放进去,然后用
$.getJSON
删除这行。谢谢你。我一直在修改和更新我的代码。我认为cURL最终有点像你最初建议的那样,只是一个小插曲而已!但我还是有点挣扎。
 $(function () {

        $.getJSON('https://www.quandl.com/api/v1/datasets/CHRIS/ICE_B1.json', function (data) {
            // Create the chart
            $('#container').highcharts('StockChart', {


                rangeSelector : {
                    selected : 1
                },

                title : {
                    text : description
                },

                series : [{
                    name : name
                    data : data
                }]
            });
        });

    });