Frage

Ist es möglich, die HTTP-Request-Methode (zum Beispiel GET oder POST) eine Seite von JavaScript zu erkennen? Wenn ja, wie?

War es hilfreich?

Lösung

In einem Wort - Nein

Andere Tipps

Ich glaube nicht. Wenn Sie diese Informationen benötigen, schlage ich ein <meta> Element, das auf dem Server generiert, die Sie mit JavaScript überprüfen.

Zum Beispiel mit 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>

Wenn Sie diese Funktion benötigen, müssen die Server ermitteln, welche Methode verwendet wurde, und dann etwas in dem DOM ändern, die Sie dann später auslesen können.

Sie können die Seite Referrer überprüfen:

document.referrer == document.URL

Wenn es die gleiche Seite es ziemlich wahrscheinlich, dass der Benutzer das Formular eingereicht.

Natürlich erfordert dies

  • , die Sie von einer Seite sich nicht verbinden (was für die Zugänglichkeit erforderlich ist sowieso)
  • , dass das Formular auf der gleichen Seite eingereicht wird es auf
  • , dass der Benutzer hat die Referrer nicht deaktivieren

Sie kann dies tun, für einen normalen Post / erhalten Sie jedoch auf diese Informationen erhalten können, wenn Sie einen Anruf xmlhttp verwenden und die getResponseHeader

Try this

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
}

Es funktioniert in der Regel. Zum Beispiel einen GET-Parameter namens Test zu erhalten. Benutze das

getURIQueryString().test

Aber es ist unmöglich, eine Post-Anforderung zu erhalten

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top