带有ajax的ChartJS无效

时间:2017-03-28 16:32:14

标签: javascript php jquery ajax

我正在创建一个图表(chartjs.org)。我有一个数据库,在我的php文档中,我将数据检索到json文件中:

print json_encode($result->fetch_all());

结果是这样,很好:

[["1.1","59.7701"],["1.2","66.6667"],["1.3","65.5172"],["1.4","65.5172"],  ["1.5","56.3218"],["1.6","58.6207"],["1.7","58.1395"],["1.8","58.6207"],["1.9","61.6279"],["2.1","65.1163"],["2.2","70.1149"],["2.3","57.4713"],["2.4","54.0230"],["2.5","60.9195"],["3.1","52.3256"],["3.2","60.4651"],["3.3","69.7674"],["3.4","52.3256"],["4.1","52.3256"]]

问题在于我想要获得这些:

    $(function () {
  $('#go').click(function(){
    $.ajax({url: '../output.php', data: {MOD_CODE: $('#MOD_CODE').val()}, dataType: 'json',
      success: function(d){
        console.log(d);
        var data = { labels:[], datasets:[{label:$('#MOD_CODE').val() + ' results', data:[], }]};
        for (var i = 0; i < d.length; i++) {
          data.labels.push(d[i][0]);
          data.datasets[0].data.push(parseFloat(d[i][1]));
        }
        var ctx = document.getElementById("myChart");
        var myChart = new Chart(ctx, {
          type: 'radar',
          data: data,
          options:{
            responsive:false,
            scale:{ticks: {beginAtZero: true}}}});//.for
      }//.success
    }); //.ajax
  })//.click
});//.function

这是文件夹结构,也许我把路径写错了。

/folder
-js/chart.js
-doc.php

奇怪的是,没有通过&#34;成功&#34;阿贾克斯我看不到console.log(d);

1 个答案:

答案 0 :(得分:0)

问题是,php文件使用以下代码生成:

print json_encode($result->fetch_all());

它不是普通的PHP,它通常包含HTML和内容。

为了生成json doc,它必须是普通的PHP,然后jquery中的调用可以收集数据。

因此,当我检查错误请求时,它给了我整个HTML页面。