Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Prototype & Script.aculo.us
Prototype & Script.aculo.us Forum d'entraide sur les frameworks Prototype et Script.aculo.us
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/03/2008, 13h48   #1
Invité de passage
 
Inscription : mai 2005
Messages : 3
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 3
Points : 0
Points : 0
Par défaut [Prototype] Script d'autocompletion ne fonctionne pas sous Mozilla

Bonjour à tous,

J'ai intégré dans mon projet le script issu du tutoriel d'AJAX autocompletion.

Il fonctionne sous IE, sous Firefox mais pas sous MOZILLA.

QQ1 peux t'il me dire pkoi ?

Merci.
vixell est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 13h54   #2
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 774
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 774
Points : 797
Points : 797
En tout cas, la page d'exemple fonctionne sous Firefox (et Opera).
L'erreur vient donc de ta page et non du code lui-même.
Herode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 12h26   #3
Membre chevronné
 
Avatar de shaun_the_sheep
 
Homme
Chef de projet NTIC
Inscription : octobre 2004
Messages : 1 149
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Chef de projet NTIC
Secteur : Enseignement

Informations forums :
Inscription : octobre 2004
Messages : 1 149
Points : 605
Points : 605
Par défaut [Ajax + Java] Pb avec le script issu du tutoriel d'AJAX autocompletion

Bonjour,

Je viens d'étudier cet exemple qui me sera bien utile. Seulement , je ne developpe pas en php mais en java.

La seule difference vient en faite de la page qui doit permettre de créer le flux XML, voici mon code:

Citation:
<%@ page contentType="text/xml; charset=UTF-8"%>

<%--
Constitution d'un fichier XML
<options>
<option>Nom</option>
....
</options>

--%>

<%@ page import="java.util.*,
java.io.*,
java.sql.*,
javax.naming.*,
javax.sql.*,
oracle.jdbc.OracleTypes" %>


<%@ page language="java" import="classJ.*" %>

<%

//------------------------------
//connexion a la base de donnée
connectDataBase con = new connectDataBase();
Connection conRes = con.getConnect();
request.setAttribute("conRes",conRes);

//Declaration des variables
String debut="";
int maxReturn=10;
int cpt=0;
String sortieXML= "";
//Recuperation des parametres
debut=request.getParameter("debut");
if(debut==null) debut="";
debut=debut.toUpperCase();

//sortieXML=sortieXML+"<?xml version='1.0' encoding='UTF-8' ?><options>";

//Generation de la liste de nom
//Statement statLstNom=conRes.createStatement();
//String queryLstNom="select PC_ID_CDT,PC_NOM,PC_PRENOM from PROFIL where UPPER(PC_NOM) like '"+debut+"%'";
//ResultSet resultLstNom= statLstNom.executeQuery(queryLstNom);
//while(resultLstNom.next())
//{
// String nom=resultLstNom.getString("PC_NOM");
// String prenom=resultLstNom.getString("PC_PRENOM");
// String id=resultLstNom.getString("PC_ID_CDT");
// if(cpt<=maxReturn)
// {sortieXML=sortieXML+"<option>"+nom+"</option>";}
// cpt++;
//}

sortieXML="<?xml version='1.0' encoding='UTF-8' ?><options><option>Un nom</option></options>";

out.print(sortieXML);
%>
Seulement j'obtient l'erreur suivante :

Citation:
Erreur : instruction de traitement XML pas au début d'une entité externe
Fichier source : http://localhost:8080/Essais/ajax/aj...debut=mondebut
Ligne : 10, Colonne : 1
Code source :
<?xml version='1.0' encoding='UTF-8' ?><options><option>Un nom</option></options></xml>^
Quelqu'un a une idée ?

Merci
shaun_the_sheep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 15h35   #4
Membre chevronné
 
Avatar de shaun_the_sheep
 
Homme
Chef de projet NTIC
Inscription : octobre 2004
Messages : 1 149
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Chef de projet NTIC
Secteur : Enseignement

Informations forums :
Inscription : octobre 2004
Messages : 1 149
Points : 605
Points : 605
J'ai trouvé la réponse à mon problème, pour ceux qui comme moi utilise plutot jsp que php

Citation:
<%--
Constitution d'un fichier XML :

<?xml version=\"1.0\" encoding=\"UTF-8\" ?>
<options>
<option>Nom</option>
....
</options>

--%>

<%@ page import="java.util.*,
java.io.*,
java.sql.*,
javax.naming.*,
javax.sql.*,
oracle.jdbc.OracleTypes" %>

<%@ page language="java" import="classJ.*" %>

<%

//------------------------------
//connexion a la base de donnée
connectDataBase con = new connectDataBase();
Connection conRes = con.getConnect();
request.setAttribute("conRes",conRes);

//Declaration des variables
String debut="";
int maxReturn=10;
int cpt=0;

//Recuperation des parametres
debut=request.getParameter("debut");
if(debut==null) debut="";
debut=debut.toUpperCase();

//System.out.println("before sending response");
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
response.getWriter().write("<options>");


Statement statLstNom=conRes.createStatement();
String queryLstNom="select PC_ID_CDT,PC_NOM,PC_PRENOM from PROFIL where UPPER(PC_NOM) like '"+debut+"%'";
ResultSet resultLstNom= statLstNom.executeQuery(queryLstNom);
while(resultLstNom.next())
{
String nom=resultLstNom.getString("PC_NOM");
String prenom=resultLstNom.getString("PC_PRENOM");
String id=resultLstNom.getString("PC_ID_CDT");
if(cpt<=maxReturn)
{
response.getWriter().write("<option>"+nom+" "+prenom+"</option>");
}
cpt++;
}


response.getWriter().write("</options>");

%>
shaun_the_sheep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 20h06   #5
Candidat au titre de Membre du Club
 
Inscription : août 2003
Messages : 12
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 12
Points : 12
Points : 12
Envoyer un message via AIM à temsa
Si tu es en java, tu ferais _bien mieu_ d'utiliser DWR, c'est simple à utiliser, rapide à mettre en oeuvre, facile à tester, et bien plus efficace que tous les bidouillages que tu peux faire pour faire de l'Ajax à la main.

Ca t'éviterai beaucoup, beaucou, beaucoup d'embêtement. D'ailleurs je n'ai pas encore trouvé d'équivalent PHP, ça existe ?
temsa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2008, 08h45   #6
Membre chevronné
 
Avatar de shaun_the_sheep
 
Homme
Chef de projet NTIC
Inscription : octobre 2004
Messages : 1 149
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Chef de projet NTIC
Secteur : Enseignement

Informations forums :
Inscription : octobre 2004
Messages : 1 149
Points : 605
Points : 605
Salut,

Merci pour l'info. Cela me semble pas trop mal. J'avoue être un peu perdu quand je vois la multitude de FrameWork dit 'Ajax'. Cela en fait un de plus dirait on ? Pour le moment je suis parti sur l'utilisation de prototype.

Sinon tu utiles DWR seul ? pas besoin de Spring, Struts pour autre ?

Quant à ta question, ne connaissant pas le PHP je ne peux te repondre.

Sinon l'exemple d'autocompletion fonctionne bien sous Mozilla, et très bien pour bien comprendre la philosophie XMLHTTPRequest

Merci
shaun_the_sheep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2008, 09h20   #7
Candidat au titre de Membre du Club
 
Inscription : août 2003
Messages : 12
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 12
Points : 12
Points : 12
Envoyer un message via AIM à temsa
Citation:
Envoyé par beegood Voir le message
Salut,

Merci pour l'info. Cela me semble pas trop mal. J'avoue être un peu perdu quand je vois la multitude de FrameWork dit 'Ajax'. Cela en fait un de plus dirait on ? Pour le moment je suis parti sur l'utilisation de prototype.

Sinon tu utiles DWR seul ? pas besoin de Spring, Struts pour autre ?

Quant à ta question, ne connaissant pas le PHP je ne peux te repondre.

Sinon l'exemple d'autocompletion fonctionne bien sous Mozilla, et très bien pour bien comprendre la philosophie XMLHTTPRequest

Merci
Mon archi de référence est Hibernate/Spring/DWR/Archetype (Archetype est basé sur Prototype -> http://archetypejs.org ). Quand c'est du "web 1.0" ou du "1.5" j'utilise Tapestry 5 avec ou à la place d'Archetype. Tout ça permet de coder efficacement et proprement quand on connait le tout.

J'anime le tout avec Maven2 (le probleme de Maven c'est qu'on se casse les dents longtemps desus avant d'arreter de galérer, lui trouvr un vrai intéret et qu'il soit efficace, néanmoins c'est un vrai bon systeme de gestion de vie du projet).

Prototype n'est pas vraiment un framework Ajax (ne te méprend pas il le fait très bien, mais ne s'occupe que du client), c'est plus une sorte de "java.lang", pour moi une sorte d'indispensable pour travailler correctement en JS. DWR va tout simplement te rendre disponible des objets java côté JS d'une façon très naturelle, avec peu de conf.

Dans un système MVC, DWR va tout simplement te permettre de transporter ton modèle côté JS. Simple, efficace, tu vois pas une ligne d'ajax, c'est tout DWR qui s'en occupe et il est capable de faire des sacré truc (du simple ajax, aux batch de requete, à la fragmentation des requetes, au reverse Ajax via polling ou Comet ...). Ca marche très très bien, en plus ca une interface de test auto généré très très pratique !
temsa est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h30.


 
 
 
 
Partenaires

Hébergement Web