본문 바로가기
개발자의 공부방/프로젝트

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

by 쌈빡한 쥬니준 2020. 4. 20.

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

 

그중에서 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