无法通过.Ajax调用向HighCharts传递PHP JSON编码的数据

无法通过.Ajax调用向HighCharts传递PHP JSON编码的数据,php,json,ajax,tsql,highcharts,Php,Json,Ajax,Tsql,Highcharts,我有PHP程序从MS SQL Server中提取数据,并将结果编码为JSON 下面是代码-> <?php /* connect to MS SQL Server using PHP */ $serverName = "192.168.0.4,14333"; // ip:port $connectionInfo = array( "Database"=>"YYY", "UID"=>"XX", "PWD"=>'XX'); $conn = sqlsrv_connect( $s

我有PHP程序从MS SQL Server中提取数据,并将结果编码为JSON 下面是代码->

<?php
/*
connect to MS SQL Server using PHP
*/
$serverName = "192.168.0.4,14333"; // ip:port 
$connectionInfo = array( "Database"=>"YYY", "UID"=>"XX", "PWD"=>'XX');
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br /><pre>";
     die( print_r( sqlsrv_errors(), true));
}

$tsql = "
SELECT * FROM projections_sample
";
$getResults= sqlsrv_query($conn, $tsql);
echo ("Reading data from table" . PHP_EOL);
if ($getResults == FALSE)
    die(FormatErrors(sqlsrv_errors()));
$rows1 = array();
$rows1['name'] = 'Revenue';
while ($r1 = sqlsrv_fetch_array($getResults, SQLSRV_FETCH_ASSOC)) 
{   
$rows1['data'][] = $r1['revenue'];
}
$getResults= sqlsrv_query($conn, $tsql);
echo ("Reading data from table" . PHP_EOL);
if ($getResults == FALSE)
    die(FormatErrors(sqlsrv_errors()));
$rows2 = array();
$rows2['name'] = 'Overhead';
while ($r2 = sqlsrv_fetch_array($getResults, SQLSRV_FETCH_ASSOC)) 
{   
$rows2['data'][] = $r2['overhead'];
}
sqlsrv_free_stmt($getResults);
$result = array();
array_push($result,$rows1);
array_push($result,$rows2);
echo json_encode($result, JSON_NUMERIC_CHECK);
sqlsrv_close($conn);
?>

结果似乎还可以(我将结果粘贴到一个JSON文件(data.JSON)中,并将结果拉到highcharts中)

使用以下代码时,不会提取JSON结果-


动态图表
让titleText='收入与间接费用'
设类别标号=['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'];
设yAxisText='Delta';
$(文档).ready(函数(){
$.ajax({
数据类型:“json”,
url:“data.php”,
成功:功能(结果)
{
Highcharts.chart('容器'{
图表:{
类型:“行”
},
学分:{
已启用:false
},
标题:{
正文:titleText
},
xAxis:{
类别:类别标签
},
亚克斯:{
分:0,,
标题:{
文本:yAxisText
}
},
系列:结果
});
},
错误:函数(xhr、desc、err){
console.log(xhr);
console.log(“详细信息:+desc+”\n错误:+err);
}
});//结束Ajax调用
});

当我运行代码时,我会得到一个空白网页。

缺少一个“
let categoryLabels=['Jan'、'Feb'、'Mar'、'Apr'、'May',Jun'、'J
在'May',Jun-->之间缺少一个'what is console.log shows?是的,Jun缺少一个'。这是我剪切粘贴的问题。控制台日志没有显示任何错误。我没有看到stringify,你忘了尝试吗?…
var obj={name:'John,年龄:30,城市:“纽约”};
••
var myJSON=JSON.stringify(obj);
缺少一个“
let categoryLabels=['Jan'、'Feb'、'Mar'、'Apr'、'May',Jun'、'J
在'May',Jun-->之间缺少一个'what is console.log shows?是的,Jun缺少一个'。这是我剪切粘贴的问题。控制台日志没有显示任何错误。我没有看到stringify,你忘了尝试吗?…
var obj={name:'John,年龄:30,城市:“纽约”};
••
var myJSON=JSON.stringify(obj);
<!DOCTYPE html>
<html>
    <head>
        <meta charset="ISO-8859-1">
        <title>Dynamic Chart</title>
        <script src="https://code.highcharts.com/highcharts.js"></script>
        <script src="https://code.highcharts.com/modules/exporting.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    </head>
    <body>
    <div id="container" style="min-width: 155px; height: 500px; margin: 0 auto"></div>
    <script>
    let titleText = ' Revenue Vs Overhead'
    let categoryLabels = ['Jan','Feb','Mar','Apr','May',Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
    let yAxisText = 'Delta';

    $(document).ready(function(){     
         $.ajax({
         datatype: "json",
         url: "data.php",
         success: function(result)
         {
             Highcharts.chart('container', {
                    chart: {
                        type: 'line'
                    },
                    credits: {
                    enabled: false
                    },
                    title: {
                        text: titleText
                    },
                    xAxis: {
                        categories: categoryLabels 
                    },
                    yAxis: {
                        min: 0,
                        title: {
                            text: yAxisText
                        }
                    },
                    series: result
                });
            },

        error: function(xhr, desc, err) {
        console.log(xhr);
        console.log("Details: " + desc + "\nError:" + err);
        }

            }); //End Ajax Call
    });
    </script>
    </body>
</html>