이 것때문에 참 많이 고생했다.
혹시나 불러온 데이터의 형식이 문제인지 아니면 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에서 데이터를 받고 나면 함수를 실행하고 넘어온 데이터 중에 내려쓰기 한 것을 변환하여 돌려주게 되는 것이다.