이 것때문에 참 많이 고생했다.
혹시나 불러온 데이터의 형식이 문제인지 아니면 ajax로 불러올 때 설정을 잘못한건지 답을 찾기가 힘들었다.
그러던 중 조금씩 답이 보이기 시작했는데 바로 ajax로 불러온 데이터안에 구조중 빈공간이지만 내려쓰기 한 것이 있기 때문이였다.
즉 한줄로 써야하는 데이터를 html dom 구조로 보기좋게 만들다보니 이런 오류가 발생하는 것이였다.
대표적으로 대한민국 기상청 api 였다. ㅠㅠ 날씨 관련 인터렉션 만들다가 기상청 api로 애 좀 먹게 된 것이다.
해결 방법은 http://mugrammer.tistory.com/152 이 곳을 참고 했다. 역시나 같은 문제였고 답을 잘 알려주셨다.
$.ajax({ url: "외부 파일 경로", type: 'GET', cache: false, success: function(data) { var myXML = rplLine(data.responseText); }, error:function(request,status,error){ alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); } }); }
위 코드는 외부에서 파일을 불러오는 모습이다. myXML 안에 데이터안의 글자를 수정하는 함수를 실행하고 리턴받게 된다.
function rplLine(value){ if (value != null && value != "") { return value.replace(/\n/g, "\\n"); }else{ return value; } } // rplLine
함수를 이렇게 만들어 놓으면 ajax에서 데이터를 받고 나면 함수를 실행하고 넘어온 데이터 중에 내려쓰기 한 것을 변환하여 돌려주게 되는 것이다.