Für GET-Parameter können Sie sie abrufen von document.location.search
:
var $_GET = {};
document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () {
function decode(s) {
return decodeURIComponent(s.split("+").join(" "));
}
$_GET[decode(arguments[1])] = decode(arguments[2]);
});
document.write($_GET["test"]);
Für POST-Parameter können Sie das $_POST
Objekt im JSON-Format in ein <script>
Tag serialisieren :
<script type="text/javascript">
var $_POST = <?php echo json_encode($_POST); ?>;
document.write($_POST["test"]);
</script>
Während Sie gerade dabei sind (Dinge auf der Serverseite erledigen), können Sie die GET-Parameter auch auf PHP erfassen:
var $_GET = <?php echo json_encode($_GET); ?>;
Hinweis: Sie benötigen PHP Version 5 oder höher, um die integrierte json_encode
Funktion verwenden zu können.
Update: Hier ist eine allgemeinere Implementierung:
function getQueryParams(qs) {
qs = qs.split("+").join(" ");
var params = {},
tokens,
re = /[?&]?([^=]+)=([^&]*)/g;
while (tokens = re.exec(qs)) {
params[decodeURIComponent(tokens[1])]
= decodeURIComponent(tokens[2]);
}
return params;
}
var $_GET = getQueryParams(document.location.search);
Es gibt ein Plugin für jQuery, mit dem GET-Parameter namens .getUrlParams abgerufen werden können
Für POST besteht die einzige Lösung darin, den POST mithilfe von PHP in eine Javascript-Variable zu übertragen, wie von Moran vorgeschlagen.
quelle
Warum nicht gutes altes PHP verwenden? Nehmen wir zum Beispiel an, wir erhalten einen GET-Parameter 'target':
quelle
Oder Sie verwenden dieses http://plugins.jquery.com/project/parseQuery , es ist kleiner als die meisten (minimierte 449 Bytes), gibt ein Objekt darstellt Name-Wert - Paaren.
quelle
Bei jeder serverseitigen Sprache müssen Sie die POST-Variablen in Javascript ausgeben.
.NETZ
Achten Sie nur auf leere Werte. Wenn die Variable, die Sie ausgeben möchten, tatsächlich leer ist, wird ein Javascript-Syntaxfehler angezeigt. Wenn Sie wissen, dass es sich um eine Zeichenfolge handelt, sollten Sie sie in Anführungszeichen setzen. Wenn es sich um eine Ganzzahl handelt, möchten Sie möglicherweise testen, ob sie tatsächlich vorhanden ist, bevor Sie die Zeile in Javascript schreiben.
quelle
Sie können das Query String Object Plugin für jQuery ausprobieren .
quelle
Hier finden Sie Informationen zum Sammeln aller
GET
Variablen in einem globalen Objekt, einer über mehrere Jahre optimierten Routine. Seit dem Aufstieg von jQuery erscheint es nun angebracht, sie in jQuery selbst zu speichern. Ich erkundige mich bei John nach einer möglichen Kernimplementierung.Anwendungsbeispiel:
Hoffe das hilft. ;)
quelle
jQuery-Plugins scheinen nett zu sein, aber ich brauchte eine schnelle js-Funktion, um die get-Parameter zu analysieren. Folgendes habe ich gefunden.
http://www.bloggingdeveloper.com/post/JavaScript-QueryString-ParseGet-QueryString-with-Client-Side-JavaScript.aspx
quelle
Wenn Ihr $ _GET mehrdimensional ist, möchten Sie möglicherweise Folgendes:
quelle
Einfach, aber dennoch nützlich, um Variablen / Werte von der URL abzurufen:
Ich habe es irgendwo im Internet gefunden, nur ein paar Fehler behoben
quelle
Verwenden Sie folgende Funktion:
und Zugriff auf Variablen als
vars['index']
wo'index'
ist der Name der get-Variablen.quelle
http://foo.com/?a=b#bar
. Es denkt,b#bar
ist der Wert füra
.Ersetzen Sie VARIABLE_KEY durch den Schlüssel der Variablen, um ihren Wert zu erhalten
quelle
Nur zur Veranschaulichung, ich wollte die Antwort auf diese Frage wissen, also habe ich eine PHP-Methode verwendet:
Auf diese Weise können alle meine Javascript / JQuerys, die danach ausgeführt werden, auf alles in den jGets zugreifen. Es ist eine schöne, elegante Lösung, die ich fühle.
quelle
Mein Ansatz:
quelle