Debutant js en soif de comprendre

Fermé
epitale Messages postés 3943 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 27 octobre 2017 - 18 oct. 2011 à 21:31
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 19 oct. 2011 à 13:49
Bonjour
merci, si vous pouvez m'aider sur ce soucis,
ce code ne fait pas ce que je veux et trouve pas où est l'erreur:


dans un fichier script

testrest();

function testrest(){
jQuery.ajax({
type: 'GET',
url: 'testrest.php',

success:function(data){

alert(data.testrest);

},
});

};


dans testrest.php :
function compter_sql($table)
{
$sql = "select id from $table";
$p = mysql_query($sql)OR DIE("Erreur sur la requete SELECT id FROM $table WHERE $where");
return mysql_numrows($p);
}
$test=0;
$compttab1 = compter_sql("tab1");
$compttab2= compter_sql("tab2");
$rest=$compttab1-$compttab2;

if($rest==3){$test=1;};

$retourrest = array(
'testrest' => ($test),
);

header('Content-type: application/json');
echo json_encode($retourrest);


aucun alert(data.testrest) n'est afficher, la requete get testrest.php est bien lancé

6 réponses

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
Modifié par avion-f16 le 18/10/2011 à 21:37
Salut,

Il est nécessaire d'indiquer que le contenu reçu est de type JSON.
$.ajax({
  url: url,
  dataType: 'json',
  data: data,
  success: callback
});


Pour une requête GET, tu peux utiliser jQuery.getJSON.
https://api.jquery.com/jQuery.getJSON/
La pensée mène le monde.
0
epitale Messages postés 3943 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 27 octobre 2017 915
18 oct. 2011 à 22:00
bonsoir avion-f16 merci a toi,
effectivement je ne précisais pas dataType: 'json'... pour mes autres requêtes passant par json et qui fonctionne, je ne l'avais pas précisé non plus, merci pour se renseignement de rigueur que j'aimerai bien aussi pouvoir appliquer...

reste que le soucis ne vient pas là

merci pour jQuery.getJSON. je connaissais pas et me renseignerais, reste que la mon code devrait marcher (c'est pas mon premier du genre meme si je débute) et meme si ce code est pas la meilleur solution, on peux pas rester sans savoir pourquoi ca marche pas
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
Modifié par Alain_42 le 18/10/2011 à 22:29
url: 'testrest.php'

est ce que ton script testrest.php est bien dans le même répertoire que ta page contenant l'Ajax ?

sinon il faut mettre le chemin relatif vers ce script

autre remarque:
dans ton script php , dans ta fonction tu n'as pas de return


.... 
$retourrest = array( 
'testrest' => ($test), 
);  
return $retourrest; 


ou alors tu ne nous a pas mis tout ton code ni non plus comment est lancée ta fonction
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
18 oct. 2011 à 22:27
Est-ce que le fichier PHP affiche bien le résultat souhaité lorsque tu l'affiches via le navigateur, avec sa propre URL ?

Si oui, alors comment et où appelles-tu la fonction testrest() ?
Dans le script que tu montres, tu l'appelles avant de la déclarer.
0
epitale Messages postés 3943 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 27 octobre 2017 915
18 oct. 2011 à 23:55
bonsoir, merci alain, merci avion,

ou la requete GET testrest.php fonctionne (cf firebug)
j'ai fait un index et des .js a part tout est clair la dessus, pour sure l'erreur est dans le code que j'ai mi plus haut, mais ou ???
--
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
19 oct. 2011 à 13:02
Essaie avec $.getJSON.

Voici son prototype (différent de $.ajax) :
jQuery.getJSON( url [, data] [, success(data, textStatus, jqXHR)] )
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
19 oct. 2011 à 13:49
j'avait mal vu ou était le } de la fin de ta fonction compter_sql() donc ne tient pas compte de ma remarque sur le return

par contre:

$p = mysql_query($sql)OR DIE("Erreur sur la requete SELECT id FROM $table WHERE $where");

où est définie cette variable $where ?
0