2014-04-08 3 views
0

버튼 (ClickClick) 및 Ajax 요청시 최신 Firefox 버전의 기능 (barplot())이 완벽하게 작동합니다. 그러나 크롬에서는 일반적인 자바 스크립트 오류로 인해 실패했습니다 : 잡히지 않은 TypeError : 속성 'date'가 정의되지 않은을 읽을 수 없습니다. 나는 완전히 붙어있다. 이견있는 사람?dimplejs 막 대형 차트에서 크롬이 깨짐

<script> 
var dim = {"width":590,"height":450}; //chart container width 
var data = '[{"date":"01-02-2010","cost":"9.7862"},{"date":"01-03-2010","cost":"9.915"},{"da‌​te":"01-04-2010","cost":"10.2634"},null,null,null,null,null]'; 
date = jQuery.parseJSON(data); 

chartutil.barplot("#chartcont",dim,data); 

function barplot(id,dim,data) 
{ 
    keys = Object.keys(data[0]); 
    var xcord = keys[0]; 
    var ycord = keys[1]; 
    var svg = dimple.newSvg(id, dim.width, dim.height); 

    var myChart = new dimple.chart(svg,data); 
    myChart.setBounds(60, 30, 505, 305);   

    var x = myChart.addCategoryAxis("x", xcord); 
    x.addOrderRule(xcord); 
    x.showGridlines = true; 

    var y = myChart.addMeasureAxis("y", ycord); 
    y.showGridlines = true; 

    var s = myChart.addSeries(null, dimple.plot.bar); 
    var s1 = myChart.addSeries(null, dimple.plot.line); 
    s1.lineWeight = 3; 
    s1.lineMarkers = true; 

    myChart.draw(1500); 

}//--end function 
</script> 
+0

이 적어도, 세 번째 줄이 있어야한다 :

while (i < data.length) { if (data[i] === null) { data.pop(i); } else { i += 1; } } 

여기에 바이올린를 참조하십시오 여기에 문제를 복제 바이올린입니다 VAR data = '[이 모든 텍스트]'; – Regent

+0

그것은 AJAX에서오고 있습니다, 그냥 메서드에 전달하는 데이터를 보여줍니다. 그러나, 당신 말이 맞아요. 나는 그것을 업데이트했다. – Adds

답변

0

제 3 행의 오타라고 생각합니다. 변경하려면 다음으로 변경하십시오.

data = jQuery.parseJSON(data); 

문제가 해결 되었습니까?

난 그냥 바이올린의 변화를 만들어가 크롬에 좋아 보인다

http://jsfiddle.net/Ra2xS/

편집 : 새로운 정보로 문제가 데이터 배열에 null 값입니다.

http://jsfiddle.net/Ra2xS/6/이이 제거 널 (null)에 의해 고정 될 수

: http://jsfiddle.net/Ra2xS/5/

+0

같은 결론에 도달했습니다 ... 비록 어떤 줄 오류가 발생했는지 아직 이해할 수 없지만 – Regent

+0

예, 동일한 오류가 발생하지 않았습니다. 예를 추가했는데 Chrome에서 작동합니다. –

+0

{{날짜} : "01-02-2010", "비용": "9.7862"}, {날짜} : "01-03-2010", "비용": "9.915"}, : "01-04-2010", "cost": "10.2634"}, null, null, null, null, null]. json 객체에 null을 추가하는 delete (delete data [4]) 메서드를 사용하여 막 대형 차트 json 데이터에서 일부 데이터를 제거합니다. 이로 인해 Chrome에 문제가 발생했습니다. – Adds

관련 문제