728x90
반응형
프로젝트 중 Ajax를 많이 사용하게 된다.
쿠키나 세션을 통해서 사용자 인증시 Ajax의 경우 세션 만료로 인해서 페이지 이동을 시킬 경우가 있다 그런 경우 사용하는 예제.
ajax
$.ajax({
url: '/document/p/api/v2/document_info_view.do',
type: 'post',
cache: false,
data: formData,
dataType: 'json',
success: function (data) {
if (data.rtn_code == '200') {
var temp_p_info = data.fd_birth_day+" ("+data.fd_age+" / "+data.fd_gender+" )<br/>";
temp_p_info += data.fd_name;
$("#docuemnt_patient_info").html(temp_p_info);
$("#view_prosthetic_appliance_info").modal();
}else{
alert(data.rtn_msg);
}
},error: function (request, status, error) {
if(request.status == '999'){
alert('인증되지 않은 사용자 혹은 세션이 만료 되었습니다.\n로그인 하여주시기 바랍니다.');
location.replace('/access/login.do');
}
//alert("code:" + request.status + "\n" + "message:" + request.responseText + "\n" + "error:" + error);
}
});
java ajax 확인
private boolean isCheckRequestAjax(HttpServletRequest req) {
String header = req.getHeader("x-requested-with");
if ("XMLHttpRequest".equals(header)){
return true;
}else{
return false;
}
}
java Ajax 확인여부
if(isAjaxRequest(request)){
response.sendError(999);
}
response.sendError는 ajax에서 request.status값이다.
이 값을 통해서 페이지를 이동 또는 다른 event를 발생 시킬수 있다.
Ajax가 에러가 나도 기본적으로 request.status 값은 200이 나온다.
728x90
반응형
'Dev > Spring' 카테고리의 다른 글
[spring] db-connection(Feat.DriverManagerDataSource) (0) | 2021.06.15 |
---|---|
[spring-maven]외부라이브러리 설정[Feat.kmc 라이브러리] (0) | 2021.04.15 |
404 및 에러페이지 처리-web.xml (0) | 2020.08.04 |
spring-Maven 오류 (0) | 2020.07.21 |
Spring에서 Device별(desktop, mobile, tablet)로 접근 구분하는 방법(spring 3.2.x) (0) | 2020.07.13 |