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
배열에 for문을 넣으니 에러가 뜨는거죠. function으로 래핑해서 return시키는것도 아니구요.
(익명함수형태로 넣는것도 제가 보기엔 안될것같습니다)
비동기 문제라면 큐 이용해서 배열로 넣고 변경하시거나 PHP코드로 아예 자바스크립트와 섞어버리는걸 추천해요.
어떤식으로 코드가 짜여져있는지 모르겠는데, 자바스크립트 -> PHP는 불가능합니다.
PHP안에 코드 체크해보시고 변수명 불러올수있으면 변수에 맞춰서 ~~~ 안에 count(변수명) 넣어주심 될것같네요