44

JavaScript からページの HTTP リクエスト メソッド (GET や POST など) を検出することはできますか? もしそうなら、どのように?

4

7 に答える 7

34

一言で言えば - いいえ

于 2008-09-23T14:11:14.807 に答える
21

私はそうは思いません。この情報が必要な場合は<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>
于 2008-09-23T14:21:38.447 に答える
10

ページのリファラーを確認できます。

document.referrer == document.URL

同じページである場合、ユーザーがフォームを送信した可能性が非常に高くなります。

もちろん、これには

  • ページからそれ自体にリンクしないこと (とにかくアクセシビリティのために必要です)
  • フォームが同じページに送信されること
  • ユーザーがリファラーを無効にしていないこと
于 2011-07-20T10:27:58.663 に答える
9

この機能が必要な場合は、サーバーにどのメソッドが使用されたかを検出させ、DOM 内の何かを変更して、後で読み取ることができるようにします。

于 2008-09-23T14:20:50.337 に答える
1

通常の post/get ではこれを行うことはできませんが、xmlhttp 呼び出しを使用して getResponseHeader を使用すると、この情報を取得できます。

于 2008-09-23T14:11:36.880 に答える