반응형
새창으로 파라미터를 넘길 때, 파라미터 노출을 없애기 위해서 post 방식이 필요했다.
하지만, 일반적인 방법으로는 새창에 post를 넘길 수가 없다.
여기저기 구글링하면서 찾은 소스다.
// POST 파라미터 입력
var param = {
title : "Home",
name : "toyuq",
age : "30",
};
// 함수 실행(URL 정보도 입력)
postOpen('POST', '/url.do', param , '_blank');
//POST는 FORM 통해서 던져야하기 때문에 스크립트로 FORM 생성 후 전달
function postOpen(verb, url, data, target) {
// Arguments :
// verb : 'GET'|'POST'
// target : an optional opening target (a name, or "_blank"), defaults to "_self"
var form = document.createElement("form");
form.action = location.origin + url;
form.method = verb;
form.target = target || "_self";
if (data) {
for (var key in data) {
var input = document.createElement("textarea");
input.name = key;
input.value = typeof data[key] === "object" ? JSON.stringify(data[key]) : data[key];
form.appendChild(input);
}
}
form.style.display = 'none';
document.body.appendChild(form);
form.submit();
}
출처 : https://stackoverflow.com/questions/17793183/how-to-replace-window-open-with-a-post
반응형
'IT 자료' 카테고리의 다른 글
location.origin 익스플로러 (0) | 2017.10.11 |
---|---|
javascript 천단위 콤마 (0) | 2017.09.29 |
javascript Table cell merge(셀병합) (1) | 2017.09.22 |
java json형태 String을 map으로 변환 (0) | 2017.08.18 |
javascript 배열 재구성 (0) | 2017.07.06 |