Javascript 返回带有cURL的JSON文件以使用HighCharts股票图表中的数据
我正在尝试使用cURL从另一台服务器将免费的JSON油价数据源转换成HighCharts StockChart 我目前掌握的守则如下: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(
<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
和jQuerygetJSON
,我认为您有点困惑
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
}]
});
});
});