Javascript GoogleCharAPI表没有列

Javascript GoogleCharAPI表没有列,javascript,asp.net-web-api,google-visualization,Javascript,Asp.net Web Api,Google Visualization,我正在尝试在我的Aspnet应用程序中使用Google图表API。 我的数据由Web Api控制器提供,我正在使用Google.DataTable.Net.Wrapper生成我的数据,并使用以下Javascript模板: function drawVersionDistributionChart() { var versionDistributionJsonData = $.ajax({ url: BASE_URL + "api/VersionDi

我正在尝试在我的Aspnet应用程序中使用Google图表API。 我的数据由Web Api控制器提供,我正在使用Google.DataTable.Net.Wrapper生成我的数据,并使用以下Javascript模板:

    function drawVersionDistributionChart() {
        var versionDistributionJsonData = $.ajax({
            url: BASE_URL + "api/VersionDistribution",
            dataType: "json",
            async: false
        }).responseText;

        // Create our data table out of JSON data loaded from server.
        var versionDistributionData = new google.visualization.DataTable(versionDistributionJsonData);

        // Instantiate and draw our chart, passing in some options.
        var versionDistributionChart = new google.visualization.PieChart(document.getElementById('versiondistribution_chart_div'));
        versionDistributionChart.draw(versionDistributionData, { width: 500, height: 300 });
    }
我的数据似乎格式良好: {“cols”:[{“type”:“string”,“id”:“VersionNumber”,“label”:“VersionNumber”},{“type”:“number”,“id”:“ApplicationCount”,“label”:“ApplicationCount”}],“rows”:[{“c”:[{“v”:“1”},{“v”:1}]}

我用谷歌API验证了数据

我还尝试使用图表包装器方法,将Web API控制器的URL作为datasourceUrl提供


请问我遗漏了什么?

好的,当Web API控制器返回数据时,数据的格式似乎有问题

以下是我所做的工作:

在ajax方法中将数据类型更改为“xml”

var versionDistributionJsonData = $.ajax({
            url: BASE_URL + "api/VersionDistribution",
            dataType: "xml",
            async: false
        }).responseText;
已删除Web API控制器添加的XML架构和关键字:

versionDistributionJsonData = versionDistributionJsonData.replace('<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">', '');
versionDistributionJsonData = versionDistributionJsonData.replace('</string>', '');
versionDistributionJsonData=versionDistributionJsonData.replace(“”,”);
versionDistributionJsonData=versionDistributionJsonData.replace(“”,”);

现在它可以工作了。

我用这个JSON测试了您的代码,它成功了。检查您的数据源是否实际返回数据-访问浏览器中的
BASE\u URL+“api/VersionDistribution”
URL并发布其输出内容。您好,我使用firebug对其进行了测试,返回的数据是:“{”cols\”:[{”type\“:“string\”,\“id\:“VersionNumber\”,“label\”:“VersionNumber\”,{”type\“:“number\”,“id\:”ApplicationCount\,\“label\:\“Application count\”,\“rows\”:[{\“c\”:[{\“v\”:\“V1.0\”,{\“v\”:1}]}}“可能与WebApi有关?”?