Question ajax json php

Résolu
leandro95 Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
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 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 
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   Statut Membre Dernière intervention  
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753 > leandro95 Messages postés 67 Date d'inscription   Statut Membre Dernière intervention  
 
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