1

このコードをさまざまな星座でテストしましたが、星座の 1 つだけでまだ追跡できないエラーが発生しています。おそらく、Google ビジュアライゼーションの経験が豊富な他の誰かが問題を見ることができます。この 1 つのケースでは、json の応答を取得すると、エラー メッセージでトークンが識別されずにトークン エラーが発生し、「エラーで一時停止」しても、js や外部 js のどこでも一時停止しません。その後、30秒後。私のコールバックは実際に呼び出されますが、エラーがタイムアウトに設定されています(クエリのエラー)。

SSLなしでもテストできるURLは次のとおりです

https://cio-services.eu/demoOe2/Api/Insight/GetESiteEuoChart/?viewFlag=1&eSiteKid=4b92d450-b29d-47c0-943b-00890f56caf2&periodMin=7200&keyProp=KW15

これは、いくつかのシナリオで動作するクライアント js です。

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">

    var chartOptions = {
        curveType: 'none',
        //width: 1200,
        height: 400, 
        vAxis: { maxValue: 10, title: 'kWh/4 (15 min)' },
        hAxis: { title: 'Time' },
        title: 'Live production log',
        titlePosition: 'out',
        titleTextStyle: { fontSize: 14, textIndent: 10 },
        fontSize: 12
    };

    google.load("visualization", "1", { packages: ["corechart"] });
    google.setOnLoadCallback(drawChart);
    var _chart;

    function drawChart() {

        //GET GChart data           
        var query = new google.visualization.Query('https://cio-services.eu/demoOe2/Api/Insight/GetESiteEuoChart/?viewFlag=1&eSiteKid=4b92d450-b29d-47c0-943b-00890f56caf2&periodMin=7200&keyProp=KW15');

        //set query parameters
        //query.setQuery('select 1, 2');

        query.send(drawTable);
    }

    function drawTable(response) {
        //error checking
        if (response.isError()) {
            alert('Error in query: ' + response.getMessage() + '' + response.getDetailedMessage());
            return;
        }

        //convert response to JSON string
        var googleDataQuery = response.getDataTable().toJSON();

        //Convert JSON to google Data table
        var convertedData = new google.visualization.DataTable(googleDataQuery, 0.5);

        //Initialize a specific data table sub set view and store into a variable  
        var view = new google.visualization.DataView(convertedData);

        _chart.draw(view, chartOptions);
    }

    $(function () {     
        _chart = new google.visualization.LineChart(document.getElementById('chart_div'));
    });

</script>
4

1 に答える 1