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.
Discussion :
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.
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.
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:
Seulement j'obtient l'erreur suivante :<%@ 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);
%>
Quelqu'un a une idée ?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>^
Merci
J'ai trouvé la réponse à mon problème, pour ceux qui comme moi utilise plutot jsp que php
<%--
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>");
%>
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 ?
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
Partager