본문 바로가기

프로그래밍/제이쿼리

제이쿼리 ajax corssDomain 사용하기


제이쿼리 ajax 크로스 도메인 사용하기

타도메인간에는 json이 사용이 안되므로

타도메인간 사용하려면 jsonp를 사용하자.


밑에는 사용법!

 

제이쿼리 ajax 크로스 도메인 사용하기 타도메인간에는 json이 사용이 안되므로 타도메인간 사용하려면 jsonp를 사용하자. 밑에는 사용법!






$.ajax({

type: "GET",

url:"http://www.daum.net",

data: "func=authcodeSned¶m="+email+"^"+step,

dataType:"jsonp",

crossDomain: true,

async: false,

jsonp:"callback",



success:function result(data){

step_chk = true;



if(data.json.chkData == "true") {

alert("MAIL : " + email + "\r\n\r\n해당 메일로 인증코드가 발송되었습니다.\r\n메일 도착은 서버상태에 따라, 5분 ~ 10분정도 소요될 수 있습니다.\r\n간혹 스팸메일함으로 이동된 경우도 있으니, 반드시 확인바랍니다.");

authcode_send = true;



var timer = setInterval(function () {



if(authcode_chk == true){

authcode_send = true;

}else{

authcode_send = false;

}



if(!(email_chk == true && authcode_send == true && authcode_chk == true)){





}



clearInterval(timer);



}, 300000);



}else if(data.json.chkData == "false"){

alert("이미 메일을 발송하였습니다.\r\n5분 뒤에 다시 시도하여 주십시오.");

send_5min_delay = true;



}else{

alert("메일 발송이 실패하였습니다.\r\n문제가 계속될 경우 관리자에게 문의하여 주십시오.");

authcode_send = false;

}

},



error: function(jqXHR, textStatus, errorThrown) { //에어로그 찍기

var errorMsg = 'status(code): ' + jqXHR.status + '\n';// 200

errorMsg += 'statusText: ' + jqXHR.statusText + '\n'; //success

errorMsg += 'responseText: ' + jqXHR.responseText + '\n'; //undefined

errorMsg += 'textStatus: ' + textStatus + '\n';//parsererror

errorMsg += 'errorThrown: ' + errorThrown;//jquery~ number was not called

console.log(errorMsg);





alert("메일 발송이 실패하였습니다.\r\n문제가 계속될 경우 관리자에게 문의하여 주십시오!");



authcode_send = false;

}

});











// 서버단 작업에 들어갈 코드



// 불러올 jsp에 출력코드







// 예) jsonp 를 callback로 넘겼기때문에 콜백으로 받는다





String callback = request.getParameter("callback");

if(true){

out.println(callback + "(");

out.println("{\"json\":{\"chkData\":\"true\"}}");

out.println(")");

}else{

out.println(callback + "(");

out.println("{\"json\":{\"chkData\":\"false\"}}");

out.println(")");
}



// 자바스크립트에서는 data.json.chkData 로 사용하면된다