Невозможно передать PHP JSON закодированные данные через. Ajax вызов HighCharts - PullRequest
1 голос
/ 01 мая 2020

У меня есть PHP программа для извлечения данных с сервера MS SQL и кодирования результата в 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) и вытащил результаты в старшие диаграммы)

Результаты JSON не извлекаются при использовании следующего кода -

<!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>

Когда я запускаю код, я получаю пустую веб-страницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...