probléme avec une fonction ajax

Eléphant du PHP | 62 Messages

22 mars 2012, 19:33

bonjour, j'ai développer un site internet pour une petite association, le site en local sur ma machine, il fonctionne trés trés bien.
mais la je viens de le mettre dans le serveur d'hebergement, et la j'ai un petit bug, je vous explique.
je charge les element mon menue via un script ajax, qui charge les donnée à partir d'une base de donnée.
voila ce que ça donne.
http://s161915888.onlinehome.fr/
quand je click par exemple sur "maladie par exemple, il n'ya rien qui se passe, alors que normalement il doit charger le contenue à partir de ma base de donnée.
je vous donne mon script ajax "fonction.js"
function ContenuOnglet(IdOnglet) {
	$.ajax({
			type: "POST",
			async: false,
			url: './ajax/ContenuOnglet.php',
			data: "IdOnglet="+IdOnglet,
			success: function(Onglet){
					document.getElementById('contenu').innerHTML="";
					$("#contenu").append(Onglet);
				},
			error: function(errorMsg) {
					$("#contenu").append(errorMsg);
				}
		});
}
voici la page "ContenueOnglet.php"
<?php
	require "../admin/onglets/fonctions.php";
	ConnectBase();
	
	// on récupère le contenu de l'onglet dans la base
	echo ContenuOnglet($_POST['IdOnglet']);
?>
et que j'affiche les erreur avec firebug voici ce que ça me donne
Could not convert JavaScript argument arg 0 [nsIDOMHTMLDivElement.appendChild]
[Stopper sur une erreur] 	

...L 8h 8g 4K 2y 5a 59 8e 8b 58 6f 8a 88 4k 87 86 84 6d 2J 4C 6c O 82 81 35".1R(" "...
quelqu'un peut m'aider svp.

ViPHP
xTG
ViPHP | 7331 Messages

22 mars 2012, 19:38

Tu as tout un tas d'erreur 404 et c'est la même chose pour le script PHP appelé par la requête Ajax.
Revois tes chemins, marche peut être en local mais pas la même arborescence sur le serveur final apparemment. ;)

Eléphant du PHP | 62 Messages

22 mars 2012, 20:56

oui tout a fait, mon hebergeur n'aime pas les chemin relatif, enfin juste ceux en javascript
j'ai aussi un script qui gére l'upload d'image pour Tiny mce, et il marche pas non plus.
il existe pas une directive du style [Document_root], à ajouter???

ViPHP
xTG
ViPHP | 7331 Messages

22 mars 2012, 21:36

Regardes dans la liste des index du tableau $_SERVER.

Eléphant du PHP | 62 Messages

22 mars 2012, 21:43

oui mais le $_serveur c'est pour du php, moi dans mon cas il y'a juste les url javascript qui ne passe pas.
sinon ceux en php sans probléme
comment on peut réécrire la ligne

Code : Tout sélectionner

url: './ajax/ContenuOnglet.php',
dans le script "fonction.js", on indiquant le chemin complet?
mon arboressence est:
j'ai un dossier "adep"
dans adep j'ai deux fichier:index.php et fonction.js, et un repertoire ajax qui contient "ContenuOnglet.php"
il y'a pas une modif à faire sur la config du serveur d'hebergement, je suis chez 1and1

Eléphant du PHP | 62 Messages

22 mars 2012, 23:24

j'ai resolue le probléme d'url, maintenant il m'affiche ça
Could not convert JavaScript argument arg 0 [nsIDOMHTMLDivElement.appendChild]
[Stopper sur une erreur] 	

...L 8h 8g 4K 2y 5a 59 8e 8b 58 6f 8a 88 4k 87 86 84 6d 2J 4C 6c O 82 81 35".1R(" "...

jquery.js (ligne 11)
il me dit qu'il y'a une erreur dans le jquerry.alors que je m'en sert pas du tout dans ce cas la.
avec le jquerry je gere le defilement d'image dans ma baniére, don un autre script
et la je viens de faire un tour sur la toile
et c apparement l'hebergement chez 1and1 qui deconne avec les Post en ajax.

ViPHP
xTG
ViPHP | 7331 Messages

23 mars 2012, 08:27

Tu as bien deux fonctions contenuOnglet() hein ?
Car en PHP on n'appelle pas directement une fonction JS car le PHP fini de s'exécuter avant que tu ne reçoives la page et donc que ton navigateur exécute le JS.

Eléphant du PHP | 62 Messages

23 mars 2012, 10:25

non j'en ai qu'une seule. mais je ne comprend pas, mon site en local il marche super bien 0 erreur, méme en lançant un console d'erreur avec firebug, mais chez l'hebergeur ça marche pas. pourtant j'ai rien changé, mon répétoire tell qu'il est sur mon htdocs en local, je l'est envoyé au serveur, pourtant ça deconne, méme mes image il ne se charge pas.pfffffffffffffff ça me gonfle.

ViPHP
xTG
ViPHP | 7331 Messages

23 mars 2012, 11:37

// on récupère le contenu de l'onglet dans la base
        echo ContenuOnglet($_POST['IdOnglet']);
Ce code est incorrect s'il n'existe pas de fonction PHP nommée ContenuOnglet().
Cela doit te générer une jolie fatal error. ;)

Pour débugguer avant de passer par de l'Ajax il faut déjà vérifier que le fichier PHP fonctionne.
Donc tu peux lui mettre des variables en dur et l'appeler directement pour tester son retour (ou bien utiliser des variables GET).

Eléphant du PHP | 62 Messages

24 mars 2012, 21:39

biensur que j'ai un fichier ContenuOnglet.php, qui situé dans le dossier ajax.
et il marche nikel en local, la je vien de le tester sur mon xampp en local, il y'a 0 erreur c'est ce serveur de 1&1 qui est bizzare j'en suis sur.
d'ailleur il detecte une erreur sur le jquerry alors que je m'en sert pas, bizzare quand meme non.

ViPHP
xTG
ViPHP | 7331 Messages

24 mars 2012, 22:03

$.post est une fonction jQuery. ;)

Mais as-tu réglé tes problèmes d'url...
Car l'erreur de début est en fait une erreur 404.
La requête retournée est un fichier indiquant l'erreur 404, et donc ton code qui suit l'interprète comme si c'était la requête qu'il attendait et donc il plante.

Eléphant du PHP | 62 Messages

26 mars 2012, 14:21

c'est bon j'ai résolu mon problème, et le site marche très très bien. donc comme je disais, c'était le serveur d'hebergement qui posait un probléme, je les ai appeler et la formule que mon association a pris ne gère pas l'ajax, donc un simple coup de file, et le problème était réglé.
merci beaucoup quand même pour votre aide.

ViPHP
xTG
ViPHP | 7331 Messages

26 mars 2012, 14:28

S'ils ne gèrent pas l'Ajax ils ne gèrent pas non plus les requêtes HTTP, donc ils n'ont pas de serveur web.
Ajax c'est le client qui l'exécute, donc seul le navigateur peut être remis en cause, le serveur n'a rien à voir et c'est pour lui totalement transparent entre une requête déclenchée par Ajax ou une requête normale (appel de page).
Bref j'espère qu'ils t'ont pas vendu un truc plus cher sur cet argument venant soit d'un arnaqueur soit d'un gars qui est passé sous le bureau pour être embauché. :)

Eléphant du PHP | 62 Messages

26 mars 2012, 16:15

non ça na rien changé au niveau des tarifs, mais bon c vrai que perso, j'aurai pris OVH mais bon vous savez je suis qu'un stagiare, donc les décisoon pareil, je ne peut pas les prendre, moi je développe, et puis c'est tout.
mais c'est bizarre quand même, car honnêtement j'ai même pas mit à jour mon navigateur web, et puis je les ai appeler il m'ont dit d'attendre 6 heures le temps de changer les paramètres du serveur d’hébergement, et puis hop, ça marchait, et j'ai même téléchargé mon site web via ftp, en cas ou ils ont touché au code source ou quoi, mais que dale. et puis ça ne peut pas venir de mon navigateur, car vous, vous avez eu la même erreur que moi, avec firebug, c'est bizarre.