2009-06-16 2 views
1

onclick 이벤트에서 url을 호출하고 POST 변수를 전달하려고합니다. 숨겨진 입력과 양식 제출을 통해이 작업을 수행하고 싶지 않습니다. 물론 jquery를 사용하여이 작업을 수행하려고합니다.JQuery를 사용하여 POST 변수로 GET 요청하기

URL을 팝업 창에로드해야합니다.

질문은 jquery 초보자입니다. 어떻게됩니까?

+0

양식 제출/숨김 입력을 사용하지 않는 이유는 무엇입니까? 더 나은 유지 보수가 가능하기 때문에 일반적으로 그렇게하는 것이 좋습니다. –

+0

숨겨진 필드는 어떻게 유지 보수가 가능합니까? 나는 이것을 사용하고 싶었던 특정 작업을 기억하지 못하지만 숨겨진 필드를 사용하지 않는 이유는 모든 데이터가 자바 스크립트 변수에 저장되었다는 것입니다. –

답변

3

$.post 함수를 살펴보십시오. 이렇게하면 선택한 URL로 AJAX 요청이 전송되지만 일반 양식 제출과 달리 현재 페이지를 다시로드하거나 변경하지 않습니다. 의견에 응답


편집 :
당신은 동적으로 각 변수에 대한 숨겨진 입력으로 양식을 작성하여 꾸며 낼 수있다. 양식의 대상을 "_blank"로 설정 한 다음 제출하면 다른 페이지가 새 창에서 열립니다.

$('#myLink').click(function() { 
    var $f = $('<form></form>') 
     .attr({ 
      method : 'post', 
      target : '_blank', 
      action : 'myOtherPage.php' 
     }) 
     .appendTo(document.body) 
    ; 
    var myHiddenVariables = { 
     id : 17, 
     name : "Joe Bloggs" 
    }; 
    for (var i in myHiddenVariables) { 
     $('<input type="hidden" />') 
      .attr({ 
       name : i, 
       value : myHiddenVariables[i] 
      }) 
      .appendTo($f) 
     ; 
    } 
    $f[0].submit(); 
    return false; 
}); 
+0

나는 그것을 보았다. 나는 내가이 상황에서 효과가 있다고 생각하지 않는다. 팝업 창에 파일을 다운로드해야합니다. –

0

다음은 두 개의 매개 변수를 사용하여 서버에 AJAX 게시를 만듭니다. 콜백 함수에서 팝업을 열고 반환 된 HTML로 채 웁니다.


$("#aLink").click(function() 
{ 
    $.post("some_url", {param1:"foo", param2:"bar"}, function(html) 
    { 
     newWindow= window.open ("","newwindow","menubar=1,resizable=1,width=350,height=250"); 
     newWindow.document.write(html); 
    }); 

    return false; 
}); 

+0

모든 것이 끝나고 완료되면 클릭 함수 처리기에서 false를 반환하는 것을 잊지 마십시오! (페이지가 어디서나 튀는 것을 피하려면) – Funka