Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌图表问题-_Javascript_Jquery_Ajax_Json_Google Visualization - Fatal编程技术网

Javascript 谷歌图表问题-

Javascript 谷歌图表问题-,javascript,jquery,ajax,json,google-visualization,Javascript,Jquery,Ajax,Json,Google Visualization,我对谷歌图表和这段代码有问题。所以,如果我直接将此代码放在head部分,则此代码可以完美工作,但如果我将其放在外部文件中,则会收到一个错误: Uncaught Error: Container is not defined 当我在console中检查该错误时,它会将我指向以下行: var chart = new google.visualization.LineChart($( "#curve_chart" )); 因此存在错误。你有什么办法吗?我也尝试过使用函数getElementByI

我对谷歌图表和这段代码有问题。所以,如果我直接将此代码放在head部分,则此代码可以完美工作,但如果我将其放在外部文件中,则会收到一个错误:

Uncaught Error: Container is not defined
当我在console中检查该错误时,它会将我指向以下行:

 var chart = new google.visualization.LineChart($( "#curve_chart" ));
因此存在错误。你有什么办法吗?我也尝试过使用函数getElementById。奇怪的是,如果将此代码放在脚本标记之间的头部,则不会出错。一旦我把它放在头上,但在外部文件中,它抛出这个错误

google.load('visualization', '1', {'packages':['corechart']});

    // Set a callback to run when the Google Visualization API is loaded.
    google.setOnLoadCallback(drawChart);

    function drawChart() {
      var jsonData = $.ajax({
          url: "https://www.example.com/pay/process.php?action=load_graph",
          dataType:"json",
          async: false
          }).responseText;
      console.log(jsonData);
      // Create our data table out of JSON data loaded from server.
      var data = new google.visualization.DataTable(eval("("+jsonData+")"));
      var options = {
      pointSize: 5,
      displayMode: 'auto', 
      colors: ['#b5e1fe','#ff9666'],
      pointShape: { type: 'circle' },
      legend: { position: 'none' },
      width: 720,
      height: 300,
      };


      // Instantiate and draw our chart, passing in some options.
      var chart = new google.visualization.LineChart($( "#curve_chart" ));
      chart.draw(data, options);
    };
这是我的jsonData,我使用了谷歌的代码示例:

         {
          cols: [{id: 'A', label: 'NEW A', type: 'string'},
                 {id: 'B', label: 'B-label', type: 'number'},
                 {id: 'C', label: 'C-label', type: 'date'}
          ],
          rows: [{c:[{v: 'a'},
                     {v: 1.0, f: 'One'},
                     {v: new Date(2008, 1, 28, 0, 31, 26), f: '2/28/08 12:31 AM'}
                ]},
                 {c:[{v: 'b'},
                     {v: 2.0, f: 'Two'},
                     {v: new Date(2008, 2, 30, 0, 31, 26), f: '3/30/08 12:31 AM'}
                ]},
                 {c:[{v: 'c'},
                     {v: 3.0, f: 'Three'},
                     {v: new Date(2008, 3, 30, 0, 31, 26), f: '4/30/08 12:31 AM'}
                ]}
          ],
          p: {foo: 'hello', bar: 'world!'}
        }

多谢各位

您的可能副本缺少一些诊断信息。如果你能发表一篇文章,那会很有帮助。具体来说,最好能看到您的标记(在您将图表放入其中的元素周围),以及您的脚本标记所在的位置。另外,如果在代码中声明了图表数据,则可以,但您的日期不是有效的JSON。删除
new
关键字,并将日期(…)括在引号中。GoogleCharts API将把它解析为JavaScript日期对象。