묻고답하기

xe 1.5.4에서 님께서 정성껏 만들어 주신 myMethodCall.js를 이용해서 json을 정상적으로 사용했는데요.

 

 

myMethodCall.js 내용

 

/**

 * @file MyMethodCall.js

 * @author 바람꽃 (wndflwr@gmail.com)

 * @brief XE에게 ajax 요청을 보낸다. 요청을 보내기 전 반드시 setModule()과 setAct()를 사용해

 * 요청을 보낼 서버의 모듈과 act를 지정하도록 한다.

 * 필요한 변수들은 addElement로 넣고 CDATA 형식의 데이터는 addCDATAElement()를 사용하도록 하자.

 * @returns this

 */

function MyMethodCall(module, act) {

this.module = module;

this.act = act;

this.params = new Array();

this.CDATAparam = new Array();

return this;

}

 

MyMethodCall.prototype.setModule = function(moduleName) {

this.module = moduleName;

return this;

};

 

MyMethodCall.prototype.setAct = function(actName) {

this.act = actName;

return this;

};

 

MyMethodCall.prototype.addElement = function(tagName, value) {

if (tagName != "module" && tagName != "act") {

this.params[tagName] = value;

}

return this;

}

 

MyMethodCall.prototype.addCDATAElement = function(tagName, value) {

if (tagName != "module" && tagName != "act") {

this.CDATAparam[tagName] = value;

}

return this;

}

 

MyMethodCall.prototype.callAjax = function(callback_success, callback_error, async, method, timeout) {

// TODO: 먼저 act와 module 항목이 차있는지 확인한다.

if (async == null)

async = true;

else

async = false;

 

var opt = {};

 

// method 의 기본 값은 POST

if (!method) {

opt['method'] = 'POST';

} else {

opt['method'] = method;

}

// timeout은 기본값으로 10초

if (!timeout) {

opt['timeout'] = 10000;

} else {

opt['timeout'] = timeout;

}

 

// string을 만들어서 보낸다.

var url = 'index.php?module=' + this.module + '&act=' + this.act;

var sendString = "<?xml version='1.0' encoding='utf-8'?>";

sendString += "<methodCall>";

sendString += "<params>";

sendString += "<module>";

sendString += this.module;

sendString += "</module>";

sendString += "<act>";

sendString += this.act;

sendString += "</act>";

for (var i in this.params) {

if (i == 'indexOf') continue;

sendString += "<" + i + ">";

sendString += this.params[i];

sendString += "</" + i + ">";

url += '&' + i + "=" + this.params[i];

}

for (var i in this.CDATAparam) {

if (i == 'indexOf') continue;

sendString += "<" + i + "><![CDATA[";

sendString += this.CDATAparam[i];

sendString += "]]></" + i + ">";

}

sendString += "</params>";

sendString += "</methodCall>";

 

jQuery.ajax({

url: url,

type: opt['method'],

timeout: opt['timeout'],

dataType: 'xml',

data: sendString,

async:async,

contentType: 'text/plain',

success: callback_success,

error: callback_error

});

return this;

}

 

xe core를 1.11.2로 업그레이드 했더니 호출에 에러가 발생하네요.

에러는 parsererror로 표시가 되는데 혹시 업그레이드 관련 조언을 주실수 있으신지요?

 

글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
검은내일 XE를 SSO구현하는데 질문입니다.  
HSHAM 오늘 갑자기 게시글이 하나도 안보입니다. [1] 2018.12.19 by sejin7940
NAMSOON 혹시 이부분 수정가능한가요? [2] file 2018.12.19 by NAMSOON
callipark 에러 메세지 해결 방법 문의드립니다. ㅠㅠ  
psjj**** 윈도우10에 설치할려고 합니다.  
권만주 이미지 리사이즈할 때 메타정보 살리는 방법 없을까요? [3] 2018.12.19 by 권만주
돼지꿈 지금, 관리자페이지 사이트디자인설정안되는거맞죠?  
쟈니 익명게시판에서 댓글 작성자 클릭시 댓글에 표시하게할수는 없을까요?  
쟈니 게시글 등록, 댓글 등록 단축키 [2] 2018.12.20 by 쟈니
개똥이다 모듈에 국가 코드중 중국어 추가 하면 오류가 납니다.  
FFLV 추천수 0이면 안뜨게 하고 싶은데 어떻게 해야 하나요? [2] file 2018.12.21 by FFLV
기광공 모바일 뷰에서 정상 화면이 나오게 하고 싶어요. [1] file 2018.12.21 by DoorWeb
검은내일 xe 템플릿 변수를 php로 옮기는 방법이 궁금합니다. [1] 2018.12.21 by 검은내일
아름드리나무 기본레이아웃 쓰는데요~ [2] file 2018.12.21 by 아름드리나무
가상 cashbook을쓰고 싶은데요 에러 [1] 2018.12.21 by sejin7940
구덱스 XE 글쓰기가 갑자기 안되네요. [2] file 2018.12.22 by 차니맘
키미즈 게시물이 어떤건 보이고 어떤건 안보입니다 [2] 2018.12.22 by 차니맘
상해파 xe에서 json 호출관련 문의 드립니다.  
베이스 업데이트 후 페이지수정 들어가면 저장버튼이 사라졌습니다. file  
tohappy 로그인 후 js호출문제  
enjoyfun 검색창 사이즈를 살짝 줄이고 싶어요 ㅠㅠ [1] file 2018.12.24 by DoorWeb
안느 jsp소스 -> php소스 변환 가능하실까요?  
soonpu**** xedition 오른쪽 메뉴 [2] file 2018.12.24 by soonpu****
dal 보안테스트에서 XSS 취약점 해결하라는데요...  
dkexpress 로그인 문제입니다. [1] 2018.12.26 by sejin7940
이택진 [포토샵-도트아트] 크기조절... [6] 2018.12.26 by 이전생
질투 글제목 옆에 사진 아이콘이 보이게 하는 방법이.. [2] file 2018.12.26 by 질투
웨마 마우스 롤오버시 목록이미지에 생기는... file  
쟈니 댓글 50개 이상 작성시 접기 file  
넓은바다 xe 모바일접속 통계볼려면 모바일 레이아웃에도 애널리틱스 코드 넣어야되나요? [1] file 2018.12.26 by 즈베즈다