제이쿼리 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 로 사용하면된다