본문 바로가기
멍청멍청기록/프로젝트 일지

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

by 쥬니준 2020. 4. 20.
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 으로 보낸다.

 

반응형

댓글0