2012-08-28 5 views
1

클라이언트 측에서는 윈도우 위치에서 전체 URL을 가져 와서 간단한 PHP 함수에 작성하여 #fragments를 HTML의 사용자에게 다시 표시 할 수 있습니다.Javascript : URL에서 단편을 가져 와서 일부 PHP에 쓰는 방법?

내 URL은 다음과 같이 구성되어있다 :

http://example.com/filename.html#var1=FOO&var2=BAR 

통지없이 ?. 사용중인 쿼리 문자열 구분 기호는 제안 된 솔루션에 영향을 줄 경우 #이어야합니다.

<script>alert(window.location);</script> 
:

는 나는이 간단한 PHP 함수 ::

<?php 
parse_str (parse_url ("$_want_to_write_the_full_URL_here", PHP_URL_FRAGMENT), $args); 
    echo $args['var1'], ' ', $args['var2']; 
?> 

내가이 예처럼 창 위치를 얻을 얻을 수 있습니다 알고로 쓰기 창 위치에 나타나는 정확히 완전한 URL을 먹고 ​​싶어

하지만 클라이언트 측에서 javascript를 사용하여 PHP로 가져 오는 방법은 무엇입니까?

모든 마법사에게 미리 감사드립니다!

답변

2

클라이언트 측 JavaScript가 실행되기 전에 서버 측 PHP가 실행되기 때문에 데이터를 PHP로 다시 가져 오는 유일한 방법은 새 HTTP 요청을 작성하는 것입니다.

  • XMLHttpRequest 객체
  • 동적으로 iframe을 생성 (JSONP에 따라) 동적 스크립트 요소를 생성/IMG/등
  • 할당 :

    이 포함 할 수있는 방법은 여러가지 방법이 있습니다 새 URI가 location으로 바뀌므로 브라우저가 현재 페이지를 닫습니다.

  • 동적으로 양식을 생성하고 submit() 방법
+0

감사합니다. @Quentin, 좋은 답변. 나는 서버 측 PHP 코드가 먼저 실행되는 것으로 의심하기 때문에 거기에 클라이언트 측 데이터를 얻을 수 없다. 방정식에서 PHP를 제거하면 JavaScript 스트링 식별자가 '?'대신 '?'인 요구 사항이있을 때 URL 조각을 HTML에 쓰는 자바 스크립트 전용 솔루션에 대한 올바른 방향을 제시 할 수 있습니까? 나는 이것을 지금 며칠 동안 풀려고 애 쓰고있다. 미리 감사드립니다. –

관련 문제