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.NET Discussion :

Json avec du ASP


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 178
    Points : 94
    Points
    94
    Par défaut Json avec du ASP
    Bonjour,

    j'ai suivi une formation OnLine sur ajax mais les explications était pour l'utilisation avec du PHP or sur mon site j'utilise ASP.

    J'ai essayé de faire un exercice mais j'ai du mal à trouver la bonne syntaxe pour transformer l'objet en Json.

    Voici le code que j’utilise:

    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
     
    strAccessDB = "/Base/nn.mdb"
    DSN_BASE2 = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(strAccessDB)
    Set CONN2 = Server.CreateObject("ADODB.Connection")
    CONN2.Open DSN_BASE2
     
    Set rs = Server.CreateObject("ADODB.RecordSet")
    sql = "select * from Villes"
    rs.Open sql, CONN2,3,2,1
     
    Total = rs.recordcount
     
    dim ville(6000)
    dim code(6000)
     
    dim tab(6000)
     
    for i =1 to Total
    	if not rs.eof then
    		ville(i) = rs("localite")
    		code(i) = rs("distance")		
    		rs.movenext
    	end if	
    next
     
    Json = '{"suggest": ['	
     
    for i=1 to Total
    	varObjet = '{ville":"' & ville(i) & ',"code":"' & code(i) & '"}'	
    next
     
    Json = Json & ']}'
     
    Response.write Json
     
     
    rs.close
    set rs = nothing
     
    CONN2.close
    set CONN2 = nothing
    Il faudrait m'aider pour trouver la bonne syntaxe pour construire l'objet Json (mettre varObjet dans tab puis concaténer....) et ainsi pouvoir le récupérer dans l'autre page......

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 178
    Points : 94
    Points
    94
    Par défaut
    J'ai réussi à créer le jason :

    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
     
    <%   
    str = request.form("str")
    Dim rsMain,sqlMain,rettxt,JobOpenToArr
     
    strAccessDB = "/Base/mm.mdb"
    DSN_BASE2 = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(strAccessDB)
    Set CONN2 = Server.CreateObject("ADODB.Connection")
    CONN2.Open DSN_BASE2
     
    Set rsMain = Server.CreateObject("ADODB.RecordSet")
    sqlMain = "select localite FROM Villes WHERE localite LIKE '%"&str & "%' group by localite order by localite" 
    rsMain.Open sqlMain, CONN2,3,2,1
     
    Total = rsMain.recordcount
    Response.write "Total: " & Total
     
    if Not rsMain.Eof  Then   
                  '## build the string
           rettxt = "{localite:""" & str & """, suggestions:["
     
         JobOpenToArr = rsMain.getRows()     
         For i = 0 to UBound(JobOpenToArr,2)
     
           rettxt = rettxt & """" & JobOpenToArr(0,i) & ""","
     
         Next    
         '##knock off trailing comma
         rettxt = left(rettxt,len(rettxt)-1)
         rettxt = rettxt & "]}"
         Response.Write rettxt 
     
    end if
    %>
    Dans l'autre page je récupére le text avec ceci > var retour = objxhr.responseText

    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
     
    function autocompleteX(arg){
    			var objxhr = xhr_connect()
    			if (objxhr){
    				objxhr.onreadystatechange = function(){
    					if (objxhr.readyState == 4) {
    						if (objxhr.status == 200) {
    							var retour = objxhr.responseText							
    							ret = document.getElementById("retour")							
     
    							ret.innerHTML = retour
     
     
    						}
    					}
    				}
    				var sql = "str="+arg
    				objxhr.open("Post", "autocompleteA.asp", true)
    				objxhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    				objxhr.send(sql)
    			} else {
    				alert("soucis d'xmlHTTPRequest")
    			}
    		}
    si dans l'input text je tape a, cela me donne ceci :

    Total: 22{localite:"a", suggestions:["Aadorf","Aarau","Aarberg","Aarburg","Aarwangen","Aathal seeegraben","Aawangen","Ablandschen","Abtwil","Achseten","Acla (safien)","Aclens","Acquarossa","Adelboden","Adetswil","Adligenswil","Adlikon","Adliswil","Aedermannsdorf","Aefligen","Aeschau","Aeschi"]}

    ---------------------------------------------------------------------------------------------------------------------------------------------------

    maintenant dans ret.innerHTML je souhaite crée un ul et mettre chaque localité dans un li.....

    merci de m'aider !

    ----------------------------------------------------------------------------------------------------------------------------------------------------

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 178
    Points : 94
    Points
    94
    Par défaut
    J'ai réussi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var html = '<ul>';
    							var json = eval( '('+ retour + ')' );
    							for (var i =0;i<json.suggestions.length;i++){
    								html += "<li><span>" + json.suggestions[i] + "</span></li>"
    							}
    							html += '</ul>'
    							ret.innerHTML = html

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 178
    Points : 94
    Points
    94
    Par défaut
    J'ai encore un petit soucis lors de récupération !

    j'ai ajouté un onClick et j'aimerai récupérer la valeur

    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
     
     
    	function remp(arg){		
    			alert(arg)
     
     
    		}
     
    if (objxhr.status == 200) {
    							var retour = objxhr.responseText
     
    							var html = '<ul>';
    							var json = eval( '('+ retour + ')' );							
    							for (var i =0;i<8;i++){							
    								if (json.suggestions[i] != undefined){
    									html += "<li><span><a href='#' onClick='remp(" + json.suggestions[i] + ")'>" + json.suggestions[i] + "</a></span></li>"
    								}
    							}
    							html += '</ul>'
    							ret = document.getElementById("retour")	
    							ret.innerHTML = html
     
    						}
    si je met json.suggestions[i] comme argument

    j'ai undefined dans l'alert.....

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 178
    Points : 94
    Points
    94
    Par défaut
    J'ai un peu améliorer le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    html += "<li onClick='remp(this)'><span>" + json.suggestions[i] + "</span></li>"
    avec ceci dans l'alert j'ai : [object HTMLLIElement]




    Comment récupérer le text du "Li" ?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 178
    Points : 94
    Points
    94
    Par défaut
    Bon, comme d'habitude j'ai du me débrouiller tout seul, pas beaucoup de réponse de votre part...

    voici la solution:

    function remp(arg){
    x = arg
    x2 = x.firstChild.firstChild.nodeValue
    alert(x2)
    }

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

Discussions similaires

  1. Ms Access obligatoire avec appli asp en local?
    Par spectre dans le forum ASP
    Réponses: 6
    Dernier message: 15/10/2007, 14h46
  2. Réponses: 4
    Dernier message: 20/02/2007, 11h07
  3. [AJAX] Récupération d'un fichier JSON avec javaScript
    Par guerin dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/11/2006, 19h05
  4. pbm avec pages ASP
    Par nawal59 dans le forum ASP
    Réponses: 4
    Dernier message: 30/07/2006, 22h04
  5. INSERT INTO avec date (asp/access)
    Par ddeee dans le forum ASP
    Réponses: 2
    Dernier message: 30/03/2006, 13h07

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