IT 자료

새창(팝업) post으로 파라미터 넘기기

성곤 2017. 9. 26. 13:32
반응형

 

새창으로 파라미터를 넘길 때, 파라미터 노출을 없애기 위해서 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

 

반응형