HTTP 요청 방법의 클라이언트 측 탐지
-
02-07-2019 - |
문제
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
그러나 사후 요청을받는 것은 불가능합니다
제휴하지 않습니다 StackOverflow