POST un array Javascript vers php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : POST un array Javascript vers php

Re: POST un array Javascript vers php

par two3d » 10 juil. 2020, 23:47

Non en fait c'est comme ça qu'on fait:

ON LIS LA DOC!!!

Bon trêve de plaisanterie, je vais t'expliquer un peu ton souci.

"tf.get machin" contient ton array, donc tu lui envoi (à array.php) avec la fonction $.post

si tu lis bien la doc, la fonction $.post (ou $.get suivant comment tu veux l'envoyer) dit:

l'appel:
$.post()

puis dans $.post ya:
Le fichier au quel on envoi les valeur (array.php)
Les valeurs
Puis la fonction d'exécution, soit:

Code : Tout sélectionner

$.post("array.php",{les valeurs},function(){ //traitement });
dans $.post, "function" sert à exécuter et à pouvoir récupérer ce que dit array.php suite à l'envoi des données, on peut faire comme ceci:

Code : Tout sélectionner

$.post("array.php",{les valeurs},function(retour){ //traitement console.log(retour);//ici on aura ce que dit la page array.php (au début tu peut tester en mettant juste du texte dans ton fichier array.php et faire un appel simple avec $.post (sans ",{les valeurs}") puis voir le résultat dans la console });
Voir les exemples: https://api.jquery.com/jQuery.post/#entry-examples

Re: POST un array Javascript vers php

par herissonblanc » 10 juil. 2020, 23:33

Merci beaucoup d'avoir pris le temps de regarder mon soucis, mais je ne suis vraiment pas doué à priori...

J'ai essayé de suivre tes conseils ça me donne ça :

Code : Tout sélectionner

<script> $(function(){ $("button").click(function(){ $.post("array.php",function(tf.getValues())) }); }); </script> <button>Envoyer les données</button>
Mais au clic rien ne se passe alors qu'il faudrait que ça ouvre la page array.php avec le post.

La différence par rapport à ce que tu me dis c'est que je n'ai pas les données à mettre en accolade. C'est la fonction tf.getValues() qui génère le tableau en fonction des filtres qu'a mis l'utilisateur.

Re: POST un array Javascript vers php

par two3d » 10 juil. 2020, 22:47

Évidemment je répond sans avoir lu correctement, c'est normale que ça transmet une string avec value="tf.get..." ^^

or 1 ta donné la solution, je rajouterais que tu peux mettre directement:

Code : Tout sélectionner

$(function(){
à la place de:

Code : Tout sélectionner

$(document).ready(function(){
Et les données sont à transmettre entres accolades:

Code : Tout sélectionner

$.post("fichier.php",{nameinput:valeurAtransmettre,etc...},function(....

Re: POST un array Javascript vers php

par two3d » 10 juil. 2020, 22:40

Si je fais un console.log(tf.getValues()) pareil je vois bien mon array.
Salut tu peux utiliser console.table() qui affiche toutes les valeurs de l'array aussi, à connaitre c'est super pratique :wink:
J'ai tenté ce code mais évidement ça a juste transmis une string pas l'array...

Code : Tout sélectionner

...<input type="hidden" name="array" value="tf.getValues();">...
Il me semble qu'il faut mettre des crochets au name de l'input, pour transmettre un array, comme ceci

Code : Tout sélectionner

...<input type="hidden" name="array[]" value="tf.getValues();">...
A essayer, j'ai pas wamp de lancé

Re: POST un array Javascript vers php

par herissonblanc » 10 juil. 2020, 16:25

Merci beaucoup pour ta réponse.

Malheureusement j'ai du mal à comprendre comment adapter ce code à ma page..

Je viens de tenter :

Code : Tout sélectionner

<script> $(document).ready(function(){ $("button").click(function(){ $.post( "array.php", tf.getValues(), }); }); </script> <button>Envoyer à Array</button>
mais rien ne se passe.
Merci encore pour votre aide

Re: POST un array Javascript vers php

par or 1 » 10 juil. 2020, 15:52

https://api.jquery.com/jquery.post/
pour appeler un fichier php à partir de javascript en envoyant des données.

POST un array Javascript vers php

par herissonblanc » 10 juil. 2020, 15:41

Bonjour,

Je bloque sur un point et j'espère que vous pourrez m'aider.



J'ai installé sur mon site TableFilter (https://www.tablefilter.com/)

Tout fonctionne bien.



Je souhaite récupérer les données d'un tableau filtré sous forme d'un array dans un autre fichier php afin de les traiter avec un script php.

Pour ça j'utilise leur fonction api (https://www.tablefilter.com/extract-data-apis.html)

Quand je mets le code comme eux :

Code : Tout sélectionner

<button class="btn btn-default" onclick=" alert(tf.getValues());"> Table values </button>
J'ai bien une alerte avec mes données filtrées.

Si je fais un console.log(tf.getValues()) pareil je vois bien mon array.

Là où je bloque c'est pour transférer cet array dans mon second fichier php quand l'utilisateur clique sur un bouton.



J'ai tenté ce code mais évidement ça a juste transmis une string pas l'array...

Code : Tout sélectionner

<form action="array.php" method="post"> <input type="hidden" name="array" value="tf.getValues();"> <input type="submit" value="envoyer" name="envoyer"> </form>

Je vois pleins de choses sur les forum mais rien qui ne semble correspondre. Si quelqu'un peu m'aider ça serait super. Merci par avance !