2010-07-16 3 views

답변

4

는 다음 작업을 수행 할 것입니다 : 당신의 js에서

{ 
    graphData : [ 
    ['user1',{v:0.00, f:'0.00'}], 
    ['user2',{v:0.00, f:'0.00'}], 
    ['user3',{v:0.00, f:'0.00'}], 
    ['user4',{v:0.00, f:'0.00'}], 
    ['user5',{v:0.00, f:'0.00'}] 
    ], 
    status : "ok" 
} 

: 당신의 응답에

$.ajax({ 
    url: 'get_json.aspx', 
    type: 'POST', 
    dataType: 'json',//this is important 
    success: function(data) { 
    //this is not vital, but it's nice to check the response 
    if(typeof data === "object" && data.status === "ok"){ 
     graphData = data.graphData; 
     drawVisualization(graphData); 
    } 
    } 
}); 

호프가 도움이 되었으면합니다.

+0

방금 ​​시도했지만 아직 빈 페이지가 나타납니다. 나는 전체 스크립트와 json 데이터가 어떻게 보이는지 보여주기 위해 나의 질문을 업데이트했다. – oshirowanen

+1

점심 먹으러갑니다. 잠깐. – oshirowanen

+0

원래 질문을 업데이트했습니다. – oshirowanen

3
$.ajax({ 
    url: 'get_json.aspx', 
    type: 'POST', 
    dataType: 'json', // as noted by Sinan 
    success: function(data) { 
    drawVisualization(data); 
    } 
}); 

function drawVisualization(serverData) { 
    var chartData = []; 
    for(var i = 0; i < serverData.length; i++) { 
     chartData.push([serverData[i][0], serverData[i][1].v]); 
    } 
    var data = new google.visualization.DataTable(); 
    data.addColumn('string', 'WIP'); 
    data.addColumn('number', 'Percentage'); 
    data.addRows(chartData); 
    new google.visualization.PieChart(document.getElementById('visualization')).draw(data, {width: 400, height: 240, is3D:true});  
} 

chartData 배열 문자열 각 행의 숫자와 함께 (당신이 google.visualization.DataTable에 두 번하는 addColumn를 호출하기 때문에) 2 열을 가질 필요가있다.

예 난 당신에 문제가 아약스 응답에있다 생각 here

+0

안녕하세요, 답장을 보내 주셔서 감사합니다. 귀하의 답변에 대한 응답으로 위의 질문을 업데이트했습니다. 기본적으로 오류가있는 빈 페이지가 표시되고 사용자가 지적한 json 데이터 문제를 해결했습니다. – oshirowanen

+0

document.ready 섹션에서 google.load를 이동했습니다. 이제 다음 오류가 발생합니다. addRows에 주어진 인수는 숫자 또는 배열이어야합니다. Line : – oshirowanen

+0

addRows로 전달하는 배열은 dataTable에서 어떻게 'addColumn'을 호출했는지에 따라 구성해야합니다. 내 대답을 업데이트했습니다. – sje397