123 votes

Comment lire les paramètres de la requête post en utilisant JavaScript

J'essaie de lire les paramètres de la requête post à partir de mon HTML. Je peux lire les paramètres de la requête get en utilisant le code suivant en JavaScript.

$wnd.location.search

Mais cela ne fonctionne pas pour la demande de poste. Quelqu'un peut-il me dire comment lire les valeurs des paramètres de la requête post dans mon HTML en utilisant JavaScript ?

239voto

rahul Points 84185

Les données POST sont des données qui sont traitées côté serveur. . Et Javascript est du côté client. Il n'y a donc aucun moyen de lire les données d'un message en utilisant JavaScript.

30voto

Roger Points 51

Un petit morceau de PHP pour que le serveur remplisse une variable JavaScript est rapide et facile :

var my_javascript_variable = <?php echo json_encode($_POST['my_post'] ?? null) ?>;

Il suffit ensuite d'accéder à la variable JavaScript de la manière habituelle.

Notez qu'il n'y a aucune garantie qu'une donnée ou un type de donnée sera affiché, à moins que vous ne le vérifiiez - tous les champs de saisie sont des suggestions, pas des garanties.

16voto

Platinum Azure Points 22380

JavaScript est un langage de script côté client, ce qui signifie que l'ensemble du code est exécuté sur la machine de l'internaute. Les variables POST, quant à elles, sont envoyées au serveur et y résident. Les navigateurs ne fournissent pas ces variables à l'environnement JavaScript, et aucun développeur ne devrait s'attendre à ce qu'elles soient là comme par magie.

Étant donné que le navigateur interdit à JavaScript d'accéder aux données POST, il est pratiquement impossible de lire les variables POST sans l'intervention d'un acteur extérieur, comme PHP qui renvoie les valeurs POST dans une variable script ou une extension/addon qui capture les valeurs POST en transit. Les variables GET sont disponibles via une solution de contournement car elles sont dans l'URL qui peut être analysée par la machine cliente.

13voto

Utilisez sessionStorage !

$(function(){
    $('form').submit{
       document.sessionStorage["form-data"] =  $('this').serialize();
       document.location.href = 'another-page.html';
    }
});

Sur une autre-page.html :

var formData = document.sessionStorage["form-data"];

Lien de référence - https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage

6voto

Ian Mbae Points 74

Pourquoi ne pas utiliser localStorage ou tout autre moyen de définir la valeur que vous que vous souhaitez transmettre ?

Ainsi, vous y avez accès de n'importe où !

Par partout Je veux dire dans le domaine/contexte donné

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X