Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
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 10/04/2007, 08h17   #1
Membre éclairé
 
Avatar de jmulans
 
Inscription : juin 2006
Messages : 397
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2006
Messages : 397
Points : 346
Points : 346
Par défaut Ajax et ASP ?

Bonjour,

je cherche a faire un sysyteme AJAX sur mon site, et j'utilise de l'ASP pour dialoguer avec ma base de donnée
En fait j'ai une liste deroulante sur ma page principale, qui me permet de choisir quelle table je voudrais afficher, ensuite grace a l'AJAX j'affiche cette table dans la meme page
j'ai donc une liste deroulante avec un evenement dessus qui envoie a cette fonction :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function RunTable(){
 
	xhr_url = "DisplayTable.asp"; 
	var table = document.getElementById("tables").value;
 
	if(table!=""){
		if ( window.XMLHttpRequest ) {
			// Objet XmlHttpRequest pour les moteurs GECKO
			xhr_object = new XMLHttpRequest();   
		} else if ( window.ActiveXObject ) {
			// Objet XmlHttpRequest pour Internet Explorer
			xhr_object = new ActiveXObject( 'Microsoft.XMLHTTP' );   
		} else {
			// Navigateur non-compatible
			alert( 'Votre navigateur ne supporte pas les objets XMLHTTPRequest...' );   
			return;
		}
 
		xhr_url += "?table="+table;
 
		xhr_object.open("GET", xhr_url, true);
 
		xhr_object.onreadystatechange = ReceiveTable;
 
		// On envoi la requete
		xhr_object.send(null);
	}
}
là j'envoie le nom de ma table au fichier DisplayTable.asp

le voila :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<% @LANGUAGE="VBSCRIPT" %>
 
<%
'Connexion à la base de données'
dbPath = Server.MapPath("mabase.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};" _
& " DBQ=" & dbPath
 
table = request("table")
result = ""
 
SQL = "Select * From ["&table&"]"
Set RS = Server.Createobject("ADODB.Recordset")
RS.Open SQL,Conn , 3, 3
 
 
if table = "Demande" then
 
	result = "<?xml version='1.0' encoding='iso-8859-1' ?>"
	result = result & "<table>"&table&"</table>"
	result = result & "<demandes>"
 
	while not RS.eof 
 
		numero = RS("numero_demande")
		date_demande = RS("date_demande")
		motif = RS("motif_demande")
 
			result = result & "<demande>"
				result = result & "<numero>"
					result = result & numero	
				result = result & "</numero>"
				result = result & "<date_demande>"
					result = result & date_demande	
				result = result & "</date_demande>"
				result = result & "<motif>"
					result = result & motif	
				result = result & "</motif>"
 
		RS.movenext
	wend
 
	result = result & "</demande>"
	result = result & "</demandes>"
end if
 
Response.Write result
 
RS.close
%>
seulement le probleme c'est que ma page principale ne reconnais pas que j'envoie un document XML
pourtant je fait :
Code :
1
2
var XMLTable = xhr_object.responseXML;
var table = XMLTable.getElementsByTagName('table')[0].firstChild.nodeValue
mais il me met une erreur sur cette derniere ligne

je poste sur le forum ASP parce que je pense que mon XML n'est pas correctement fait, car avec du texte simple ça marche bien en faisait un responseText

j'ai deja fait ce genre de truc avec du php et je mettais
Code :
header("Content-type: text/xml");
mais je ne voit pas la correspondance en ASP
jmulans est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2007, 11h57   #2
Membre éprouvé
 
Avatar de malbaladejo
 
Inscription : avril 2002
Messages : 377
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : avril 2002
Messages : 377
Points : 477
Points : 477
Est-ce que tu testes sur IE ou Firefox ?
J'ai rencontré ce problème. Ca marchait très sur IE et pas sur FireFox.
Je me suis ensuite apperçut (en analysant le flux http) qu'il y avait 2 content-type.
Le premier qui vient je ne sais pas d'ou (je pense qu'il est fixé par IIS) et qui vaut toujours text/html et le second qui correspond au code mis dans ma page asp.

IE prend le 2em (text/xml) qui est fixé par la page asp et FireFox le 1er.

Je n'ai jamais résolu ce problème.
malbaladejo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2007, 12h59   #3
Membre éclairé
 
Avatar de jmulans
 
Inscription : juin 2006
Messages : 397
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2006
Messages : 397
Points : 346
Points : 346
bon en fait j'ai trouvé en farfouillant le net
j'ai ajouté
Code :
1
2
response.Charset = "UTF-8"
response.ContentType = "text/xml"
au debut de ma page ou je genere le xml
et ça fonctionne bien comme ça sous IE et sous Firefox (coup de bol )
jmulans est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2007, 13h23   #4
Membre éprouvé
 
Avatar de malbaladejo
 
Inscription : avril 2002
Messages : 377
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : avril 2002
Messages : 377
Points : 477
Points : 477
Je n'avais pas essayé UTF-8.
Merci pour l'infos.
malbaladejo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h56.


 
 
 
 
Partenaires

Hébergement Web