Javascript 为什么我将ajax与Google Art api结合使用失败

Javascript 为什么我将ajax与Google Art api结合使用失败,javascript,ajax,json,Javascript,Ajax,Json,我是javascript新手。我试着用谷歌地图制作一份漂亮的报告。 根据示例,代码应该如下所示: function drawRegionsMap() { var data = google.visualization.arrayToDataTable([ ['Country', 'Popularity'], ['Germany', 200], ['United States', 300], ['Bra

我是javascript新手。我试着用谷歌地图制作一份漂亮的报告。 根据示例,代码应该如下所示:

function drawRegionsMap() {
        var data = google.visualization.arrayToDataTable([
          ['Country', 'Popularity'],
          ['Germany', 200],
          ['United States', 300],
          ['Brazil', 400],
          ['Canada', 500],
          ['France', 600],
          ['RU', 700]
        ]);

        var options = {};

        var chart = new google.visualization.GeoChart(document.getElementById('chart_div'));
        chart.draw(data, options);
    }; 
在我的例子中,数据来自ajax请求。因此,我将代码更改为:

function drawRegionsMap() {
var jsonData = $.ajax({
        url: "json/geo.pl",
        dataType: 'json',
        async: false
        }).responseText;

            var data = google.visualization.arrayToDataTable(jsonData);

            var options = {};

            var chart = new google.visualization.GeoChart(document.getElementById('chart_div'));
            chart.draw(data, options);
        }; 
但这对我不起作用。Firefox中的错误消息是错误:不是数组。 希望有人能帮助我。谢谢

json/geo.pl的输出是: -bash-4.1$json/geo.pl

Content-Type: application/json; charset=ISO-8859-1

[
   [
      "Country",
      "Uploads"
   ],
   [
      "AL",
      1
   ],
   [
      "AP",
      1
   ],
   [
      "AR",
      47
   ],
   [
      "AT",
      25
   ],
   [
      "AU",
      75
   ],
   [
      "AZ",
      10
   ],
   [
      "BD",
      4
   ],
   [
      "BE",
      65
   ],
   [
      "BG",
      15
   ],
   [
      "BN",
      1
   ],
   [
      "BR",
      177
   ],
   [
      "CA",
      536
   ],
   [
      "CH",
      37
   ],
   [
      "CI",
      3
   ],
   [
      "CL",
      35
   ],
   [
      "CN",
      947
   ],
   [
      "CO",
      4
   ],
   [
      "CS",
      1
   ],
   [
      "CY",
      2
   ],
   [
      "CZ",
      20
   ],
   [
      "DE",
      135
   ],
   [
      "DK",
      51
   ],
   [
      "DO",
      1
   ],
   [
      "EE",
      26
   ],
   [
      "ES",
      53
   ],
   [
      "EU",
      2
   ],
   [
      "EU",
      9
   ],
   [
      "FI",
      19
   ],
   [
      "FR",
      183
   ],
   [
      "GB",
      341
   ],
   [
      "GE",
      14
   ],
   [
      "GR",
      11
   ],
   [
      "HK",
      94
   ],
   [
      "HR",
      2
   ],
   [
      "HU",
      7
   ],
   [
      "ID",
      37
   ],
   [
      "IE",
      36
   ],
   [
      "IL",
      122
   ],
   [
      "IN",
      543
   ],
   [
      "IS",
      5
   ],
   [
      "IT",
      129
   ],
   [
      "JP",
      200
   ],
   [
      "KG",
      4
   ],
   [
      "KR",
      451
   ],
   [
      "LB",
      3
   ],
   [
      "LK",
      1
   ],
   [
      "LT",
      5
   ],
   [
      "LU",
      4
   ],
   [
      "MA",
      2
   ],
   [
      "MD",
      3
   ],
   [
      "MO",
      3
   ],
   [
      "MU",
      2
   ],
   [
      "MX",
      77
   ],
   [
      "MY",
      43
   ],
   [
      "NG",
      1
   ],
   [
      "NI",
      1
   ],
   [
      "NL",
      33
   ],
   [
      "NO",
      27
   ],
   [
      "NZ",
      4
   ],
   [
      "OM",
      1
   ],
   [
      "PA",
      4
   ],
   [
      "PH",
      9
   ],
   [
      "PK",
      20
   ],
   [
      "PL",
      76
   ],
   [
      "PT",
      14
   ],
   [
      "PY",
      2
   ],
   [
      "QA",
      2
   ],
   [
      "RO",
      6
   ],
   [
      "RU",
      164
   ],
   [
      "SA",
      30
   ],
   [
      "SE",
      148
   ],
   [
      "SG",
      101
   ],
   [
      "SK",
      34
   ],
   [
      "TH",
      22
   ],
   [
      "TR",
      28
   ],
   [
      "TT",
      1
   ],
   [
      "TW",
      110
   ],
   [
      "UA",
      26
   ],
   [
      "US",
      9386
   ],
   [
      "VE",
      1
   ],
   [
      "VN",
      28
   ],
   [
      "ZA",
      89
   ],
   [
      "ZM",
      1
   ]
]

我通过将json/array从ajax responseText转换为javascript数组解决了这个问题

function drawRegionsMap() {
var jsonData = $.ajax({
        url: "json/geo.pl",
        dataType: 'json',
        async: false
        }).responseText;

var output = new Array();
output = JSON.Parse(jsonData);
            var data = google.visualization.arrayToDataTable(output);


            var options = {};

            var chart = new google.visualization.GeoChart(document.getElementById('chart_div'));
            chart.draw(data, options);
        };