2016-06-18 10 views
2

私はJSONは私がしようとし、そして、jqueryのポスト要求なぜGoogle ChartがASP MVCアプリケーションを動作させないのですか?

$.ajax({ 
       url: '@Url.Action("CompanyChart", "Users")', 
       type: 'post', 
       dataType: "json", 
       success: function (data) { 
        drawChart(data); 
       } 
      }); 

を持って私の見解側でこの [["Компания","Количество"],["ООО \"Феникс+\"",53],["ООО \"Феникс-Презент\"",42]]

のように見えます

 [HttpPost] 
     public JsonResult CompanyChart() 
     { 

      var data = db.adusers; 
      var selectUsers = from s in data where (s.Company != null) select s; 
      int fenixPlus = (from fP in data where (fP.Company == "ООО \"Феникс+\"") select fP).Count(); 
      int fenixPresent = (from fP in data where (fP.Company == "ООО \"Феникс-Презент\"") select fP).Count(); 

      var dataObj = new object[] 
      { 
       new object[] {"Компания","Количество"}, 
       new object[] { "ООО \"Феникс+\"", fenixPlus}, 
       new object[] { "ООО \"Феникс-Презент\"", fenixPresent} 
      }; 

      return Json(dataObj, JsonRequestBehavior.AllowGet); 
     } 
JSON

返す人、私のコントローラのメソッドを持っていますGoogleの円グラフを描く

google.charts.load("current", { packages: ["corechart"] }); 
      google.charts.setOnLoadCallback(drawChart); 
      function drawChart(data) { 

       var array = JSON.parse(data); 
       var dataV = new google.visualization.DataTable(array); 
       var options = { 
        title: 'My Daily Activities', 
        pieHole: 0.4, 
       }; 

       var chart = new google.visualization.PieChart(document.getElementById('donutchart')); 
       chart.draw(dataV, options); 
      }; 

コンソールでエラーが発生しないUncaught SyntaxError: Unexpected token К in JSON at position 0

私のコードが機能しないのはなぜですか?

答えて

1

JsonResult JSONコンテンツの文字列でないJSON objectの呼び出し元に戻ります。したがって、JSON.parseを呼び出す必要はありません。

単に書き込みインデックスコンソール今仕事ない

var array = data; 
+0

var array = JSON.parse(data); 

を変更:1711キャッチされない例外TypeError:プロパティを読み取ることができません未定義 VM372の 'arrayToDataTable':231不明なエラー:未配列 – Shato

+0

をエラーのあるコード、特に "VM372:231"を投稿できますか? –

関連する問題