문제

JavaScript에서 페이지의 HTTP 요청 메소드 (예 : Get 또는 Post)를 감지 할 수 있습니까? 그렇다면 어떻게?

도움이 되었습니까?

해결책

한마디로 - 아니오

다른 팁

나는 그렇게 믿지 않는다. 이 정보가 필요한 경우 <meta> JavaScript로 확인할 수있는 서버에서 생성 된 요소.

예를 들어, php :

<meta id="request-method" name="request-method" content="<?php echo htmlentities($_SERVER['REQUEST_METHOD']); ?>">
<script type="text/javascript">
    alert(document.getElementById("request-method").content);
</script>

이 기능이 필요한 경우 서버가 사용 된 방법을 감지 한 다음 DOM에서 무언가를 수정하여 나중에 읽을 수 있습니다.

페이지의 참조자를 확인할 수 있습니다.

document.referrer == document.URL

같은 페이지 인 경우 사용자가 양식을 제출했을 가능성이 높습니다.

물론 이것은 필요합니다

  • 페이지에서 그 자체로 링크하지 않음 (어쨌든 접근성을 위해 필요합니다)
  • 양식이 동일한 페이지에 제출된다는
  • 사용자가 참조자를 비활성화하지 않았습니다

XMLHTTP 호출을 사용하고 getResponseHeader를 사용하면 일반 게시물/GET에 대해이 정보를 얻을 수 없습니다.

이 시도

function getURIQueryString(){
    var params = {};
    var qstring = window.location.toString().substring(window.location.toString().indexOf("?") + 1);
    var regex = /([^&=]+)=([^&=]+)/g;
    var m;
    while (m = regex.exec(qstring)){
        params[decodeURIComponent(m[1])] = decodeURIComponent(m[2])       
    }
    return params
}

일반적으로 작동합니다. 예를 들어 테스트라는 GET 매개 변수를 얻으려면 이것을 사용하십시오

getURIQueryString().test

그러나 사후 요청을받는 것은 불가능합니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top