묻고답하기

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 남기남
개다 익명 게시판일 때 푸시가 오면 상대방 닉네임이 노출되더라구요  
세걸 네이버 아이디 로그인 [1] 2019.04.01 by sejin7940
세걸 ssd HHD 조합으로 웹서비스 설정 [1] 2019.04.01 by 세걸
개다 홈이 로딩도 느리고 무거운 느낌인데 [1] file 2019.04.01 by 세걸
세걸 쉬운설치가 안됩니다. [3] 2019.04.01 by 세걸
GSJ 레이아웃에서 변경 후 로그인이랑 검색이 안보여요ㅠㅠ  
ILMARE 첨부파일 확장자 소문자로 자동변환방법이 궁굼합니다  
손주사랑 new post에게시판 제목 나오게하는 방법좀 부탁 드립니다 file  
Spooky 모바일에서만 '권한이 없습니다'가 나오는 이유가 궁금합니다. [1] 2019.03.29 by Spooky
우주 새글 표시 모듈이 작동하지 않습니다. file  
숲지기 자동으로 \(원표시)가 입력되면서 레이아웃이 초기화됩니다. [1] 2019.03.29 by 숲지기
세걸 조회수 표시& 검색문제 [2] 2019.03.29 by 세걸
마이산 판매자 연락처 보기 변경 file  
피피 팝업창이 뜨질 않습니다.  
기가 네이버로 접속하여 로그인시 에러 [2] 2019.03.28 by 기가
rail_man 섬네일 비율을 "크롭"으로 설정하였음에도 원본비율로 노출됩니다.  
웅쿠미 달력모듈 게시판 사용시 첫 화면 [2] file 2019.03.27 by 웅쿠미
김인호 엮인글 문의 드립니다. [6] 2019.03.27 by sejin7940
테란 xe 스킨 복사방법 [2] 2019.03.27 by 테란
가츠 모바일 도메인(cafe24) 사용시 로그인오류 현상 [1] 2019.03.26 by DoorWeb
herrwook 개인 서버에 그간 사진을 한꺼번에 올리려는데요...  
-f99d7 회원가입시 실명 인증 시스템 [1] 2019.03.26 by sejin7940
어거지 게시글을 등급별로 볼수 있을까요? [1] 2019.03.26 by 디자인클립
dkexpress 화면 왼쪽에 있는 링크 주소를 바꿔야 하는데.... 첨이라 잘 모르겠네요..... 도와 주세요.  
개발자티케 사이트메뉴편집에서 메뉴가 안나옵니다. [7] file 2019.03.25 by 이원희884
forgnhan 에라가 이렇게 뜹니다.  
qweasdz**** 게시판 관련 [2] file 2019.03.25 by qweasdz****
아놔진짜 특정 게시판 글쓰기시 특정 bash 스크립트 실행 방법?  
fasflpelqwe 위키모듈을 사용하고 싶은데 오류가 납니다. 도와주세요.. [1] 2019.03.25 by sejin7940
headkim 메인화면 꾸미기 [1] 2019.03.25 by DoorWeb