2012-06-09 3 views
0

자바 스크립트를 사용하여 양식을 게시하고 응답 HTML 코드를 변수에 저장하고 싶습니다. 이 코드 응답이 iframe에 표시됩니다 실행하면
자바 스크립트로 변수에 포스트 포스트 응답

<script type="text/javascript"> 
function submitform() 
{ 
    document.forms["myform"].submit(); 
} 
</script> 

<form id="myform" action="url" method="post" target="iframe"> 
<input type="hidden" name="arg" value="value"> 
<a href="javascript: submitform()">Go</a> 
</form> 
<iframe name="iframe"></iframe> 



:
여기 내 코드입니다. 하지만 어떤 경우에는 iframe 페이지를로드 한 후 소스 코드로 리디렉션됩니다. 나는 리디렉션이 일어날 것을 막을 많은 장소를 수색했으나 어떤 방법으로도 찾지 못했습니다 !!.

window.onbeforeunload = function(){ 
      return false; 
     }; 

을하지만이 대화 상자 리디렉션을 보여줍니다 내가 때마다 것을 클릭하도록 요청 할 수 없기 때문에이 방법은 짜증나! :
난 그냥이 자바 스크립트 코드를 추가하여 하나의 방법 발견
그래서 리디렉션하는 브라우저에서 응답 HTML 코드를로드하지 않는 방법을 찾았습니다! 대신에 변수에 응답을 저장하고 스크립트를 제거한 다음 인쇄하십시오!

이렇게 할 방법이 있습니까?

+0

이것이 바로 [Ajax] (http://en.wikipedia.org/wiki/Ajax)의 목적입니다. https://developer.mozilla.org/en/AJAX/Getting_Started를 확인하십시오. –

답변

0

양식을 사용하는 대신 javascript를 사용하여 게시물 요청을 할 수 있습니다. 이 경우 동일한 도메인에 게시하는 경우 응답을 쉽게 캡처 할 수 있습니다. 교차 도메인 게시물은 보안상의 이유로 반환 값을 제공하지 않습니다. 자바 스크립트로 게시하는 방법은 JavaScript post request like a form submit을 참조하십시오.

+0

이 방법을 사용하면 사용자는 URL을 게시 할 때마다 리디렉션됩니다. 응답을 사용하고 사용자가 그 메시지를 보지 못하도록 막으려 고합니다. – Hossein

+0

기본적으로 문제를 해킹하거나 잘못된 해결책을 구현하려고합니다. 당신이 통제하지 않는 웹 서버에 게시하고 싶다면 해킹 없이는 작동하지 않을 것입니다. 서버를 제어하는 ​​경우 'JSONP'또는 'origin access headers'를 검색하십시오. – naugtur

1

모서리를 중심으로 코딩하고 있습니다. jQuery와 .ajax 메서드를 사용하십시오. iframe 대신 반환 된 마크 업을 div에 드롭합니다.

+0

테스트했지만 작동하지 않습니다 !! ajax는 도메인 외부의 도메인에서는 작동하지 않습니다! 주요 도메인 주소에서만 작동합니다. – Hossein

+0

@Hossein 맞습니다. 그렇게해야합니다. 도메인 간 통신은 또 다른 이야기입니다. '.post' 또는'$ .ajax'를 사용하여 동일한 도메인을 호출하면 크로스 도메인이나 교차점으로 표시된 솔루션을 찾기 시작합니다. – naugtur

1

jQuery's AJAX function을 보면 매우 유연하고 사용하기 쉽습니다. 또는 더 쉽게, jQuery Form Plugin을 시도하십시오. 이는 기본적으로 모든 양식 관련 작업을 자동화합니다. 양식을 가리키고 양식을 제출하기 전 및/또는 후에 무엇을하고 싶은지를 알려주기 만하면됩니다.

+0

테스트했지만 작동하지 않습니다 !! ajax는 도메인 외부의 도메인에서는 작동하지 않습니다! 주요 도메인 주소에서만 작동합니다. – Hossein

+0

진정해, 우리는 나중에 듣는다. AJAX는 크로스 도메인에서 작동하지 않습니다. 그런 식으로 사용하려면 JSONP를 읽어보십시오. David Walsh는 그의 [blog] (http://davidwalsh.name/jsonp)에서 그것을 잘 다룬다. –

관련 문제