Debutant js en soif de comprendre
epitale
Messages postés
4115
Date d'inscription
Statut
Membre
Dernière intervention
-
Alain_42 Messages postés 5413 Statut Membre -
Alain_42 Messages postés 5413 Statut Membre -
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é
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
-
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.-
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
-
-
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 -
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. -
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 ???
-- -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Essaie avec $.getJSON.
Voici son prototype (différent de $.ajax) :
jQuery.getJSON( url [, data] [, success(data, textStatus, jqXHR)] ) -
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 ?