1

주제: ajax 문제

태터툴즈에서 사용하는 AJAX 엔진은 EAF.js 에 들어있는것 같더군요. 그러나 이게 완전히 한줄로 이어져 있는데에다 제법 방대해서 해석 및 개조는 한참 미루어져 있는 상태입니다. 가급적이면 이왕 공개하신거 코드를 좀 알아볼 수 있게[..] 해주시면 좋을텐데 하고 생각합니다.

항상 발생하는 문제는 아니지만, 그렇다고 드물지도 않게 스크립트 오류가 발생합니다. this._status 라는 객체가 없다든가 하는식의 메세지와 함께 말이죠.
때문에 저의 경우 일단 시험삼아 좀 더 간단한ㆀ ajax 함수로 대체해서 몇군데에만 적용해 본 상태입니다. 사실 가만히 들여다보면 별 차이가 없어보이기도 하는데 원인을 알 수 없어 여러모로 고민중입니다.

일단 대체함수로 사용중인건 아래와 같습니다:

function newXMLHttpRequest() {
  var xmlreq = false;

  if (window.XMLHttpRequest) {
    xmlreq = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    try {
      xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e1) {
      try {
        xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e2) {
      }
    }
  }

  return xmlreq;
}

function requestHttpText(uri,type) {
    if(type.length < 1) { type = "POST"; }
    var oHttp = newXMLHttpRequest();
    oHttp.open(type, uri , false);
    oHttp.send("");
    var returnValue = oHttp.responseText;
    delete oHttp;
    return returnValue;
}

보시다시피 기본중의 기본인셈입니다. 이것으로 교체한 이후로는 this._status 관련 오류가 발생하지 않는군요.
this._status 부분은 EAF.js 에 들어있는것 같았습니다만 앞뒤 맥락을 확인할 수 없는지라 딱히 해결이라고 보기는 뭣합니다.
해당 부분을 담당하시는 개발자께서 확인을 해주시면 좋겠습니다 smile