Uncaught SyntaxError: Unexpected token for 에러 질문입니다.
안녕하세요 이제막 군대다녀온 사회 초년생 입니다.
그누보드의 datepicker 을 이용해 조회하고 싶은 날짜를 선택해 방문자의 숫자를
그래프로 보여주는 스킨을 만들고 있는데요
간단하게 설명드리자면
ajax를 이용해 g5_visit_sum 테이블의 vs_date값과 vs_count 값을 문자열로 받아와
str 이라는 변수에 배열로 집어넣었습니다
ex)
str[0] = 2017-05-01
str[1] = 50
str[2] = 2017-05-02
str[3] = 60
값이 정상적으로 들어가 있습니다.
실제로 str 의 값을 확인한 결과
잘 나오는 것 까지 확인하였습니다
문제는 차트로 표현하기 위해
dataProvider (차트에 x값과 y값의 데이터의 수치를 입력해주는 부분) 에서 오류가 발생한다고
나옵니다.
코드를 보면
<script>function chart(data){ var str = data.split('///'); var size = str.length-3; //alert(str +'/'+ size); var chart = AmCharts.makeChart("chartdiv", { "type": "serial", "theme": "dark", "dataDateFormat": "YYYY-MM-DD", "dataProvider":[ for(var j=0;j<=size;j=j+2) { { "date":str[j], "value":str[j+1] }, } ], "valueAxes": [{ "maximum": 150, "minimum": 0, "axisAlpha": 0, "guides": [{ "fillAlpha": 0.1, "fillColor": "#CC0000", "lineAlpha": 0, "toValue": 120, "value": 0 }, { "fillAlpha": 0.1, "fillColor": "#0000cc", "lineAlpha": 0, "toValue": 200, "value": 120 }] }], "graphs": [{ "bullet": "round", "dashLength": 4, "valueField": "value" }], "chartCursor": { "cursorAlpha": 0, "zoomable":false, "valueZoomable":true }, "categoryField": "date", "categoryAxis": { "parseDates": true }, "valueScrollbar":{ } });}
이부분이 데이터를 입력하는 부분입니다.
크롬 개발자도구를 본 결과 Uncaught SyntaxError: Unexpected token for 이라는
에러가 발생하구요
for문 을 가리키고 있습니다.
(size)는 for문을 깔끔하게 보여주기 위해 변수로 지정해 놓은것이구요 변수에대한 문제는 없는것
같습니다.
코딩 고수분들 도움을 부탁드립니다.
답변 2개 / 댓글 4개
배열에 for문을 넣으니 에러가 뜨는거죠. function으로 래핑해서 return시키는것도 아니구요.
(익명함수형태로 넣는것도 제가 보기엔 안될것같습니다)
비동기 문제라면 큐 이용해서 배열로 넣고 변경하시거나 PHP코드로 아예 자바스크립트와 섞어버리는걸 추천해요.
답변에 대한 댓글 2개
[code]
"dataProvider":[
<?php
for($i=0 ;$i <= ~~~ ; $i=$i+2){ ?>
{
"date":str[<?php echo $i;?>],
"value":str[<?php echo $i+1;?>]
},
<?php }?>
],
[/code]
이렇게 짜봤는데 ~~~ 저부분에 본문 4번째 줄에있는 size 란 변수를 넣고싶은데
방법이 있을까요 ??
배열이기때문에 이것도 불가능 한가요??
어떤식으로 코드가 짜여져있는지 모르겠는데, 자바스크립트 -> PHP는 불가능합니다.
PHP안에 코드 체크해보시고 변수명 불러올수있으면 변수에 맞춰서 ~~~ 안에 count(변수명) 넣어주심 될것같네요
답변에 대한 댓글 2개
답변을 작성하려면 로그인이 필요합니다.