IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Ajax et ASP ?


Sujet :

ASP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de jmulans
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 397
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Content-type: text/xml");
    mais je ne voit pas la correspondance en ASP

  2. #2
    Membre chevronné
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Par défaut
    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.

  3. #3
    Membre éclairé Avatar de jmulans
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 397
    Par défaut
    bon en fait j'ai trouvé en farfouillant le net
    j'ai ajouté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 )

  4. #4
    Membre chevronné
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Par défaut
    Je n'avais pas essayé UTF-8.
    Merci pour l'infos.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'envoi de parametre en ajax et asp
    Par rifidamiens dans le forum ASP
    Réponses: 0
    Dernier message: 26/03/2008, 15h31
  2. Installer des extensions AJAX pour ASP.NET
    Par Rick62 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 21/02/2008, 17h48
  3. [AJAX] Ajax et ASP.NET
    Par boleduch dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/03/2006, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo