Question ajax json php

Résolu/Fermé
leandro95 Messages postés 67 Date d'inscription vendredi 25 avril 2014 Statut Membre Dernière intervention 5 juin 2016 - Modifié par leandro95 le 4/01/2015 à 16:32
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 7 janv. 2015 à 01:19
Bonjour,


J'aimera savoir comment fait-on pour transmettre un variable json (d'un script javascript) qui est retourné lors d'un appel à la fonction $.ajax() ,dans une variable php dans la fonction success, et aussi comment la sauvegarder juste avant en un fichier d'extension .json:

exemple:

val1="....";
$.ajax({
url : 'http://localhost/Project/test.php',
type : 'GET',
data : 'var='+val1,
dataType:'json',

success : function(resultat,statut){

},
});
test retourne un tableau json (echo json_encode($t);)
je ne vois pas du tout comment faire.


j'ai essayé de faire çeci mais sans succès:


$resol='<script type="text/javascript">document.write(""+resultat);</script>';
echo json_decode($resol);
A voir également:

2 réponses

Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
Modifié par Mihawk le 6/01/2015 à 17:17
Hello,

Javascript n'as pas les droits d'écriture sur le disque dur de ton ordinateur. Tout au mieux tu pourrais afficher le résultat JSON dans la page web, par exemple en faisant :

success : function(resultat,statut){
$('body').text(resultat);
},


Amicalement,
Pierre.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
6 janv. 2015 à 17:28
Bonjour,

Le Javascript s'éxecute côté CLIENT contrairement au PHP qui lui se lance côté SERVEUR.
Tu ne peux pas "transmettre" directement de variable au PHP depuis du Javascript sauf par le biais de l'AJAX.

Rien ne t'empèche de refaire un AJAX dans le success de ton ajax précédent...
success : function(resultat,statut){
        $('body').text(resultat);
        $.ajax({
            url : 'http://localhost/Project/test2.php',
            type : 'post',
            data : 'resultat='+resultat, 
            dataType:'json',
            success : function(data,statut){
                alert(data);
             },
           });
     },



comment la sauvegarder juste avant en un fichier d'extension .json

Si tu veux sauvegarder sur le poste de l'utilisateur... tu ne peux pas.
Par contre, si tu veux créer le fichier sur ton serveur.. là avec PHP tu peux.
Via l'instruction fwrite par exemple.
ou via : https://www.php.net/manual/fr/function.file-put-contents.php file-put-contents .

Personnellement.... dans ta page test.php .. je ferais :
1 - La récupération de tes variables
2 - L'enregistrement dans le fichier sur le serveur

et dans ton script JS .. Que l'affichage sur la page (comme te l'a proposé Mihawk )

0
leandro95 Messages postés 67 Date d'inscription vendredi 25 avril 2014 Statut Membre Dernière intervention 5 juin 2016
Modifié par jordane45 le 7/01/2015 à 01:19
J'ai un autre problème je cherche à utiliser file_gets_content() en local (pour des tests):

<?php
 $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
 echo json_encode($arr);
 header('Content-Type: application/json;');
?>



<?php
$json = file_get_contents('http://localhost/projet/test/index.php');
echo $json;
var_dump(json_decode($json,true));

?>



Celà affiche bien $json (?{"a":1,"b":2,"c":3,"d":4,"e":5}) mais pas le var_dump; j'ai essayé de mettre $json entre guillemets simples mais ça ne marche pas quand même.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > leandro95 Messages postés 67 Date d'inscription vendredi 25 avril 2014 Statut Membre Dernière intervention 5 juin 2016
Modifié par jordane45 le 7/01/2015 à 01:19
Bonsoir,
J'ai un autre problème

Nouvelle question = ouverture d'une nouvelle discussion sur le forum.

PS: Lorsque tu postes du code.. merci d'utiliser les BALISES DE CODE.( en y précisant le langage...)
Explications disponibles ici :https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
0