2013-04-24 3 views
0

줄, 막대 그래프 등을 생성하기 위해 자바 스크립트 라이브러리 caleed JSCharts를 사용하고 있습니다. 모든 것은, 내가 작업 예제를 제공 할 수 있어야 그 같은 노력하고 있습니다 :배열로 Ajax 응답 사용

var myData = new Array(['2013-01-24', 117], ['2013-01-25', 91], ['2013-01-26', 90], ['2013-01-27', 128], ['2013-01-28', 168], ['2013-01-29', 169], ['2013-01-30', 146], ['2013-01-31', 48], ['2013-02-01', 66], ['2013-02-02', 48], ['2013-02-03', 90], ['2013-02-04', 138], ['2013-02-05', 77], ['2013-02-06', 55], ['2013-02-07', 79], ['2013-02-08', 63], ['2013-02-09', 35], ['2013-02-10', 63], ['2013-02-11', 90], ['2013-02-12', 80], ['2013-02-13', 48], ['2013-02-14', 62], ['2013-02-15', 71], ['2013-02-16', 52], ['2013-02-17', 95], ['2013-02-18', 69], ['2013-02-19', 94], ['2013-02-20', 119], ['2013-02-21', 725], ['2013-02-22', 1348], ['2013-02-23', 1244], ['2013-02-24', 607], ['2013-02-25', 585], ['2013-02-26', 941], ['2013-02-27', 1466], ['2013-02-28', 1015], ['2013-03-01', 1626], ['2013-03-02', 965], ['2013-03-03', 875], ['2013-03-04', 841], ['2013-03-05', 969], ['2013-03-06', 710], ['2013-03-07', 566], ['2013-03-08', 660], ['2013-03-09', 622], ['2013-03-10', 651], ['2013-03-11', 679], ['2013-03-12', 812], ['2013-03-13', 754], ['2013-03-14', 669], ['2013-03-15', 661], ['2013-03-16', 328], ['2013-03-17', 529], ['2013-03-18', 552], ['2013-03-19', 647], ['2013-03-20', 462], ['2013-03-21', 452], ['2013-03-22', 157], ['2013-03-23', 188], ['2013-03-24', 103], ['2013-03-25', 152], ['2013-03-26', 155], ['2013-03-27', 165], ['2013-03-28', 952], ['2013-03-29', 1135], ['2013-03-30', 915], ['2013-03-31', 996], ['2013-04-01', 400], ['2013-04-02', 204], ['2013-04-03', 145], ['2013-04-04', 164], ['2013-04-05', 1248], ['2013-04-06', 517], ['2013-04-07', 300], ['2013-04-08', 494], ['2013-04-09', 248], ['2013-04-10', 220], ['2013-04-11', 245], ['2013-04-12', 152], ['2013-04-13', 109], ['2013-04-14', 293], ['2013-04-15', 207], ['2013-04-16', 120], ['2013-04-17', 528], ['2013-04-18', 266], ['2013-04-19', 286], ['2013-04-20', 313], ['2013-04-21', 162], ['2013-04-22', 310]); 
console.log("myData: " + Object.prototype.toString.call(myData)); 
var myChart = new JSChart('116376655202954_3months_page_views_chartcontainer', 'line'); 
myChart.setDataArray(myData); 
myChart.setSize(960, 320); 
myChart.setAxisNameX(''); 
myChart.setAxisValuesColorX('#FFFFFF'); 
myChart.setAxisNameY(''); 
myChart.setTitle('Page Views in the last 3 months'); 
Chart.draw(); 

내 문제는 지금은 아약스는 다음과 같은 응답 나를 보내는 PHP 파일에 대한 요청을 GET 만드는 것이 :

['2013-02-24', 10], ['2013-02-25', 17], ['2013-02-26', 23], ['2013-02-27', 13], ['2013-02-28', 11], ['2013-03-01', 12], ['2013-03-02', 6], ['2013-03-03', 20], ['2013-03-04', 21], ['2013-03-05', 18], ['2013-03-06', 12], ['2013-03-07', 17], ['2013-03-08', 10], ['2013-03-09', 7], ['2013-03-10', 6], ['2013-03-11', 13], ['2013-03-12', 24], ['2013-03-13', 20], ['2013-03-14', 15], ['2013-03-15', 12], ['2013-03-16', 4], ['2013-03-17', 21], ['2013-03-18', 18], ['2013-03-19', 21], ['2013-03-20', 10], ['2013-03-21', 4], ['2013-03-22', 2], ['2013-03-23', 9], ['2013-03-24', 7], ['2013-03-25', 13], ['2013-03-26', 2], ['2013-03-27', 9], ['2013-03-28', 15], ['2013-03-29', 14], ['2013-03-30', 29], ['2013-03-31', 19], ['2013-04-01', 6], ['2013-04-02', 4], ['2013-04-03', 7], ['2013-04-04', 5], ['2013-04-05', 56], ['2013-04-06', 3], ['2013-04-07', 2], ['2013-04-08', 11], ['2013-04-09', 4], ['2013-04-10', 7], ['2013-04-11', 1], ['2013-04-12', 6], ['2013-04-13', 2], ['2013-04-14', 2], ['2013-04-15', 6], ['2013-04-16', 3], ['2013-04-17', 13], ['2013-04-18', 5], ['2013-04-19', 7], ['2013-04-20', 4], ['2013-04-21', 4], ['2013-04-22', 8] 
내가 응답 문자열 것을 알고

function submitForm(t) { 
    var page_id = String("#" + $(t).attr('id')); 
    $.ajax({type:'GET', url: 'charts.php', data:$(page_id).serialize(), success: 
     function(response) { 
      document.getElementById('<?php echo $account['id']; ?>_fan_removes').style.display = "block"; 
      console.log(response); 
      var myFanRemovesData = new Array(response); 
      console.log(myFanRemovesData); 
      var myChart = new JSChart('116376655202954_fan_removes', 'line'); 
      myChart.setDataArray(myFanRemovesData); 
      myChart.setSize(960, 320); 
      myChart.setAxisNameX(''); 
      myChart.setAxisValuesColorX('#FFFFFF'); 
      myChart.setAxisNameY(''); 
      myChart.setTitle('Page Fan Removes in the last 2 months'); 
      myChart.draw(); 
     }}); 
    return false; 
}; 

과 나는 작업의 예에서와 같이 배치 할 수 있지만이 제대로 동작하지 않습니다 원하는 :

다음은 GET 요청에 대한 내 코드입니다. myDatamyFanRemovesData [대상 배열]하지만 I는 모두 CONSOLE.LOG 사용할 경우 I는 다음 나타날 myData 들어 :

배열의 배열은
[Array[2], Array[2], Array[2], Array[2], Array[2], Array[2], Array[2], Array[2], ... ] 

myFanRemovesData

["['2013-02-24', 10], ['2013-02-25', 17], ['2013-02-…-04-20', 4], ['2013-04-21', 4], ... "] 

응답을 배열로 변환하려고 시도했지만 눈에 띄는 성공은 없습니다. 다음에 무엇을해야할지 모르겠으므로 어떤 제안이나 안내도 환영하지 않습니다.

+1

가장 좋은 방법은'ajax' 요청에 대한'dataType'를 배열 PHP에서 결과를 감싸고 설정하는 것입니다 이것은 JavaScript 문제가 아니라 PHP 문제입니다. PHP'echo' 문을 다음과 같이 수정하십시오 :'echo json_encode (variable);'** variable **은 여러분이 에코 아웃하는 현재의 값입니다. – dbf

+1

을 json'로 – War10ck

+0

'json_encode'는 "다음과 같이 배열을 나에게 보냅니다 :''[ '2013-02-24', 10]"'배열 배열을 어떻게 만들 수 있습니까? –

답변