2011-08-22 5 views
0
  1. 클라이언트
  2. 때 example.com example.com/form.html을 위해 HTML 포스트 폼 javascript를 사용하여 이전 양식 POST 변수를 가져올 수 있습니까?

  3. 클라이언트 특정 정보 형태를 채우고
  4. 표시된다 example.com/form.html 및 제출 진행 /form.html POST 요청을 수신하면 example.com/redirected.html의 클라이언트가 리디렉션됩니다. 클라이언트가 채워서 javascript를 사용하여 example.com/form에 게시 한 변수를 검색 할 수 있습니까? example.com/redirected.html에만 배포되는 javaScript입니다. 나는 iframe과 ajax가 관련된 "back"컨트롤이 될 수 있다고 생각하지만 아직 안정적인 솔루션을 찾지 못했습니다.

    작업은 그래서 크로스 도메인 문제가

+0

값을 쿠키에 저장할 수 있습니다. 이것이 최선의 접근법인지는 모르겠다. –

+0

쿠키가 허용되지 않으므로 쿠키 접근 방식을 사용하지 않습니다. – Michael

답변

0

아니 관여하지 않습니다 동일한 도메인에 일어날 것이다, 나는 이것이 가능하다고 생각하지 않습니다.

당신도

  • 스토어에
  • 새로운 URL에 GET 매개 변수로 게시 된 값을 추가 쿠키
  • 스토어 서버 측 세션 변수에 게시 된 값에 게시 된 값이
  • 사용하면 원래의 형태를 게시 GET, 고통스럽게 새 페이지
0
document.referer에서 게시 된 값을 추출

HTML5의 경우 localstorage을 사용하십시오. (대답은 localstorage에 객체를 저장하는 방법을 설명합니다. 양식 필드의 객체를 저장할 수 있습니다.)

하지만 example.com/form.html에서 JS와 함께 게시에 데이터를 저장해야하고 example.com/redirected.html에 그것을 얻을 수. form.html에 js가 없으면이 방법으로는 불가능합니다.

html5를 사용할 계획이고 너무 많은 데이터를 저장하지 않을 경우 작동합니다. iirc 브라우저에 따라 5-10MB의 제한이 있습니다.

0

일반 html을 사용하여이 작업을 수행 할 방법이 없다고 생각합니다. 일부 서버 측 언어 (PHP와 같은)에서는 문제없이 수행 할 수 있습니다.

필자는 비슷한 상황에 처해 있었고, JS에 데이터를 제공하는 방법은 태그를 사용하여 데이터를 PHP로 출력하는 것입니다. . (가) PHP 스크립트는 그것이 리디렉션되고있는 스크립트에서 POST 데이터를 수신에 리디렉션 내가 PHP 코드에서이 포함됩니다 가정

는 :

<?php 
    echo '<script type="text/javascript">'; 
    echo 'var postData = '.json_encode($_POST).';'; 
    echo '</script>' 
?> 

이 자바 스크립트가 POST 값이 포함 된 것을 알 수있을 것이다. 는 JS에서 값에 액세스하려면 : POST 데이터가 스크립트로 리디렉션 (이 자동으로 발생하는 경우 확인하지 않은)에 전달되지 않는 경우

//assuming you need the value for $_POST['foo'] 
var foo = postData.foo; 
// or if json is encoded as just an associative array 
var foo = postData['foo']; 

, 당신은 $에 _SESSION에 $ _POST 데이터를 쓸 수 첫 번째 PHP 스크립트의 변수 :

<?php 
    $_SESSION['postdata']=$_POST; 
?> 

다음 다시 SESSION에서 스크립트로 리디렉션에서 그것을 얻을.

<?php 
    $postdata = $_SESSION['postdata']; //use this to create the inline script in the html 
    unset($_SESSION['postdata']; //empty this from the SESSION variables 
?>