멍청멍청기록/프로젝트 일지

프로젝트] JSP 에서 토큰 값을 전달하는 방법.

  • -
728x90
반응형

프로젝트를 진행하면서 어떤 기능을 구현하느냐에 따라서 응답 호출 보내고 받는 것들이 조금씩 다르다.

 

그중에서 JSP에서 토큰을 전달하는 방법 두가지를 적어본다.

 

 

1. 제이쿼리 ajax

function excelDownlod() {
var params = {};
params.srchDateFrom = $('#sdDateFrom').val().replace(/-/g, '');
params.srchDateTo = $('#sdDateTo').val().replace(/-/g, '');
params.srchYear = $('#sdDateTo').val().substr(0, 4);
//params.form = $("#frm").serialize();
//params.frm = $("form[name=form]").submit();
//$("#cliEndDate").val().replace(/-/g, '')
alert(JSON.stringify(params));

/!*var form = "<form action = 'excelSmsVirtualDown' method='post'>";
form += "<input type='hidden' name='params' value='params'>";
form += "</form>";
$(form).appendTo("body").submit().remove();*!/

$.ajax({
type : "POST",
dataType : "json",
//url : "/smsVbankReportDown",
url : "/admin/report/smsVbankReportList",
//enctype: 'multipart/form-data',
contentType : "application/json",
//data : $("#frm").serializeArray(),
data : {
srchDateFrom : $('#sdDateFrom').val().replace(/-/g, ''),
srchDateTo : $('#sdDateTo').val().replace(/-/g, ''),
srchYear : $('#sdDateTo').val().substr(0, 4)
},
data : JSON.stringify(params),
success : function(result) {
//window.location = "";
alert("success 메시지");
console.log("success result : " + result);
},
beforeSend: function(xhr) {
xhr.setRequestHeader(header, token); // <=== 이 부분.
}
});
}

beforeSend : function(xhr) setRequestHeader(header, token);

이렇게 보낼 수 있다.

 

 

 

2. form 형식 방법

function excelDownlod() {
console.log('엑셀다운로드 function');
var tempFrm = $('<form id="tempForm"></form>');

tempFrm.attr('action', '/admin/report/excelSmsVirtualDown');
tempFrm.attr('target', 'blank_frame');
tempFrm.attr('method', 'post');

var srchFrDt = $('#sdDateFrom').val().replace(/-/g, '');
var srchToDt = $('#sdDateTo').val().replace(/-/g, '');
var srchYear = $('#sdDateTo').val().substr(0, 4);

tempFrm.append($('<input type="hidden" name="sdDateFrom" value="' + srchFrDt + '"/>'));
tempFrm.append($('<input type="hidden" name="sdDateTo" value="' + srchToDt + '"/>'));
tempFrm.append($('<input type="hidden" name="srchYear" value="' + srchYear + '"/>'));
tempFrm.append($('<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>')); /// <=== 이 방법

/*tempFrm.append($('<input type="hidden" name="${srchDateFrom}" value="${srchDateFrom}"/>'));
tempFrm.append($('<input type="hidden" name="${srchDateTo}" value="${srchDateTo}"/>'));*/

tempFrm.appendTo('body');
tempFrm.submit();
return false; // 페이지 이동 방지.
}

엑셀을 다운로드 하는 방식에 있어서 권한 또한 같이 넘겨줘야하니깐...

input hidden 으로 보낸다.

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.