var _ajaxAsync = true;
jQuery.support.cors = true; // for IE cross domain ajax call
function makeAPIUrl(url) {
var APIURL = url;
var urlCheck = APIURL.indexOf('?');
var APIParameter= "";
if(urlCheck != -1){
APIParameter = APIURL.split('?');
APIURL = "/ServerAPI"+ APIParameter[0]+".json?"+APIParameter[1];
}else{
APIURL = "/ServerAPI"+ APIURL+".json";
}
return APIURL;
}
function callByGet(url, callbackFunc, formId, callbackFailFunc) {
callByGet_org(_ajaxAsync, url, callbackFunc, formId, callbackFailFunc);
}
function callByGet_org(ajaxAsync, url, callbackFunc, formId, callbackFailFunc) {
var formData = formId != null ? $("#" + formId).serialize() : "";
url = makeAPIUrl(url);
$.ajax({
type: "get",
async: ajaxAsync,
url: url,
data: formData,
dataType: "json",
cache: false,
xhrFields: {
withCredentials: true
},
crossDomain: true,
success: function(data, textStatus, jqXHR) {
if (callbackFailFunc) {
eval(callbackFunc + "(data, jqXHR);");
} else {
if (data.resultCode == "1000" || data.resultCode == "1010") {
eval(callbackFunc + "(data);");
} else {
checkStatus(data);
}
}
},
error: function(jqXHR, textStatus, errorThrown) {
if (callbackFailFunc) {
eval(callbackFailFunc + "(jqXHR);");
} else {
handleErrorStatus(jqXHR);
}
}
});
}
function callByPost(url, callbackFunc, formId, callbackFailFunc) {
callByPost_org(_ajaxAsync, url, callbackFunc, formId, callbackFailFunc);
}
function callByPost_org(ajaxAsync, url, callbackFunc, formId, callbackFailFunc) {
var formData = formId != null ? $("#" + formId).serialize() : "";
url = makeAPIUrl(url);
$.ajax({
type: "post",
async: ajaxAsync,
url: url,
data: formData,
dataType: "json",
cache: false,
xhrFields: {
withCredentials: true
},
crossDomain: true,
success: function(data, textStatus, jqXHR) {
if (callbackFailFunc) {
eval(callbackFunc + "(data, jqXHR);");
} else {
eval(callbackFunc + "(data);");
}
},
error: function(jqXHR, textStatus, errorThrown) {
if (callbackFailFunc) {
eval(callbackFailFunc + "(jqXHR);");
} else {
handleErrorStatus(jqXHR);
}
}
});
}
function callByPut(url, callbackFunc, formId, callbackFailFunc) {
callByPut_org(_ajaxAsync, url, callbackFunc, formId, callbackFailFunc);
}
function callByPut_org(ajaxAsync, url, callbackFunc, formId, callbackFailFunc) {
var objMethod = document.createElement("input");
objMethod.type = "hidden";
objMethod.name = "_method";
objMethod.value = "PUT";
document.getElementById(formId).insertBefore(objMethod, null);
var formData = formId != null ? $("#" + formId).serialize() : "";
url = makeAPIUrl(url);
$.ajax({
type: "post",
async: ajaxAsync,
url: url,
data: formData,
dataType: "json",
cache: false,
xhrFields: {
withCredentials: true
},
crossDomain: true,
success: function(data, textStatus, jqXHR) {
if (callbackFailFunc) {
eval(callbackFunc + "(data, jqXHR);");
} else {
if (data.resultCode == "1000" || data.resultCode == "1010") {
eval(callbackFunc + "(data);");
} else {
checkStatus(data);
}
}
},
error: function(jqXHR, textStatus, errorThrown) {
if (callbackFailFunc) {
eval(callbackFailFunc + "(jqXHR);");
} else {
handleErrorStatus(jqXHR);
}
}
});
$("#" + formId+" input[name=\"_method\"]").remove();
}
function callByDelete(url, callbackFunc, formId, callbackFailFunc) {
callByDelete_org(_ajaxAsync, url, callbackFunc, formId, callbackFailFunc);
}
function callByDelete_org(ajaxAsync, url, callbackFunc, formId, callbackFailFunc) {
var objMethod = document.createElement("input");
objMethod.type = "hidden";
objMethod.name = "_method";
objMethod.value = "DELETE";
document.getElementById(formId).insertBefore(objMethod, null);
var formData = formId != null ? $("#" + formId).serialize() : "";
url = makeAPIUrl(url);
$.ajax({
type: "post",
async: ajaxAsync,
url: url,
data: formData,
dataType: "json",
cache: false,
xhrFields: {
withCredentials: true
},
crossDomain: true,
success: function(data, textStatus, jqXHR) {
if (callbackFailFunc) {
eval(callbackFunc + "(data, jqXHR);");
} else {
if (data.resultCode == "1000" || data.resultCode == "1010") {
eval(callbackFunc + "(data);");
} else {
checkStatus(data);
}
}
},
error: function(jqXHR, textStatus, errorThrown) {
if (callbackFailFunc) {
eval(callbackFailFunc + "(jqXHR);");
} else {
handleErrorStatus(jqXHR);
}
}
});
$("#" + formId+" input[name=\"_method\"]").remove();
}
function callByMultipart(url, callbackFunc, formId, callbackFailFunc) {
$("#"+formId).ajaxForm({
xhrFields: {
withCredentials: true
},
crossDomain: true,
dataType: "json",
beforeSend: function() {
},
complete: function(jqXHR, textStatus) {
var data = eval("("+jqXHR.responseText+")");
if (callbackFailFunc) {
eval(callbackFunc + "(data, jqXHR);");
} else {
if (data.resultCode == "1000" || data.resultCode == "1010") {
eval(callbackFunc + "(data);");
} else {
checkStatus(data);
}
}
},
error: function(jqXHR, textStatus){
if (callbackFailFunc) {
eval(callbackFailFunc + "(jqXHR);");
} else {
handleErrorStatus(jqXHR);
}
}
});
$("#"+formId).attr("action", url);
$("#"+formId).submit();
}
function checkStatus(data) {
if(data.resultCode == "1001"){//비밀번호 미변경
popAlertDiv("알림", "비밀번호를 미변경으로 로그인이 제한됩니다. \n 비밀번호를 변경해주세요.");
}else if(data.resultCode == "1002"){//동일아이피로여러아이디접속
popAlertDiv("알림", "아이피접근제한 \n 관리자 문의");
}else if(data.resultCode == "1003"){//비밀번호 오류
popAlertDiv("알림", "비밀번호가 틀렸습니다.");
}else if(data.resultCode == "1004"){//비밀번호 5회 오류
popAlertDiv("알림", "1일 비밀번호 5회 오류로 로그인이 제한됩니다.
관리자 문의");
}else if(data.resultCode == "1010"){//회원정보 없음
popAlertDiv("알림", "회원정보가 없습니다.");
}else if(data.resultCode == "1005"){
popAlertDiv("알림", "1일 인증 3회 제한 더이상 인증하실수 없습니다.
관리자 문의");
}
}
function handleErrorStatus(jqXHR, forbidden) {
if (jqXHR.status == 401) {
Popuplogin();
/*popAlert("경고","로그인을 먼저해주세요").done(function() {
document.location.href ="/index.php"; // 로그인 페이지로 이동
});*/
} else if (jqXHR.status == 403) {
//popAlert("ServerErrer",JSON.stringify(jqXHR.responseText,null,4));
popAlert("ServerErrer", "일시적인 403오류입니다. 해당 현상이 지속 \n될 시 문의전화 부탁드립니다.");
} else if (jqXHR.status == 404) {
//popAlert("ServerErrer",JSON.stringify(jqXHR.responseText,null,4));
popAlert("ServerErrer", "일시적인 404오류입니다. 해당 현상이 지속 \n될 시 문의전화 부탁드립니다.");
} else if (jqXHR.status == 400) {
//popAlert("ServerErrer",JSON.stringify(jqXHR.responseText,null,4));
popAlert("ServerErrer", "일시적인 400오류입니다. 해당 현상이 지속 \n될 시 문의전화 부탁드립니다.");
} else if (jqXHR.status == 500) {
//popAlert("ServerErrer",JSON.stringify(jqXHR.responseText,null,4));
popAlert("ServerErrer", "일시적인 500오류입니다. 해당 현상이 지속 \n될 시 문의전화 부탁드립니다.");
} else {
//popAlert("ServerErrer",JSON.stringify(jqXHR.responseText,null,4));
popAlert("ServerErrer", "일시적인 알수없는 오류입니다. 해당 현상이 지속 \n될 시 문의전화 부탁드립니다.");
}
}
function logView(data){
console.log(JSON.stringify(data,null,4));
}