11548 sujets

JavaScript, DOM et API Web HTML5

Bon, voilà, j'ai un problème dans mon code (toujours mes inscriptions dynamiques)...

Le concept pratique :
1) la personne remplit un formulaire
2) elle clique sur une image pour avoir accès à la suite
3) premier traitement en jquery pour dégrossir les erreurs de base
4) si ça passe pas, ça retourne les erreurs sur la page du formulaire
5) si ça passe, le javascript envoie les données en ajax vers un fichier php
6) le fichier php (ins.validation.php) valide les informations (ou pas), insère dans la base de données si c'est OK et retourne un json
7) le javascript interprète le json et retourne soit des erreurs, soit la suite du formulaire.

Les étapes 1 à 4 sont validées et marchent très bien. Le fichier PHP marche très bien tout seul.

Mais voilà, l'étape 5 passe pas, mon javacript n'appelle jamais le fichier php. Aucun retour d'erreur sur la console d'erreur d'opera.

Je vous passe le code js des premiers traitements, ainsi que l'interprétation du json (étape 7).

$.ajax({
	url:"ins.validation.php",
	type:'POST',
	data: "etape=1&login="+login+"&pass"+pass+"&pass2"+pass2+"&email"+email+"&parrain"+parrain,
	dataType: 'json',
	success: retour_php,
});
function retour_php(retour)
{
	alert (retour);
}



J'ai aussi tenté avec :
retour_php(){alert('je passe ici');}

Aucune alerte.

J'ai aussi tenté de mettre un die("je passe ici"); sur le fichier php pour voir s'il était appelé et rien non plus.

J'ai aussi tenté cette écriture-ci :
$.ajax({
	url:"ins.validation.php",
	type:'POST',
	data: "etape=1&login="+login+"&pass"+pass+"&pass2"+pass2+"&email"+email+"&parrain"+parrain,
	dataType: 'json',
	success: function (retour)
	{
		alert (retour);
	}
});


Sans succès non plus...


Bref, je bloque complètement, je suis en panne d'idée... (et les variables login, pass, pass2, email et parrain sont bien déclarées et valides)


Edit : voyant la coloration douteuse de la variable "pass" ici, je l'ai changé en "pass1", sans changement ^^
Modifié par Lothindil (21 May 2012 - 13:50)
Salut,

a mon avis le fichier php que tu appelle n'est pas accessible. Il faut que tu donne une url valide, pas juste un path vers un fichier interne. Genre tu pourrais appeler l'url "/validate/" (je devine juste ce que ton script essaie de faire) qui elle executerait le code contenu dans le fichier php "ins.validation.php".

Si tu utilises chrome tu peux voir quel url le script appelle via l'onglet Network du Developer tools. Tu auras aussi le code reponse http que cette requete.
il manque des "=" dans ta déclaration du data :
data: "etape=1&login="+login+"&pass="+pass+"&pass2="+pass2+"&email="+email+"&parrain="+parrain
Modérateur
a écrit :
J'ai aussi tenté de mettre un die("je passe ici"); sur le fichier php pour voir s'il était appelé et rien non plus.

En même temps si tu n'as pas de retour ça ne changera rien. (Cela ne provoquera pas de die dans ta page)
Modifié par kustolovic (21 May 2012 - 13:34)
C'était bien les égals manquants... Je capte pas comment j'ai pu passer à coté (à force de relire sans doute).

Ca marche nickel ^^ (pratique l'onglet "network", j'avais jamais testé le développer tools de chrome)

kustolovic a écrit :

En même temps si tu n'as pas de retour ça ne changera rien. (Cela ne provoquera pas de die dans ta page)

Ah, je pensais qu'être brutal ça aidait... je retiens que c'est un test inutile ^^
Modifié par Lothindil (21 May 2012 - 13:50)