Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881

    [ajax] farsi restituire dall'asp codice JS

    ciao a tutti
    sto giocattolando con ajax seguendo un po' gli esempi del w3c.

    Ora vorrei fare una variante al giochino del JS che riporta dentro ad un div, referenziato tramite il getElementsById, l'elaborato server side: vorrei che l'elaborato dal lato server andasse a scrivere codice JS, in particolare dovrebbe scrivere le istruzioni JS che riempiono una var di tipo Array...

    Si puote?

    Praticamente dovrei fare in modo che l'xmlHttp.responseText scrivesse codice JS

    Io ho fatto in modo che la parte aspVB, mentre scrollo un recordset con un ciclo while/wend, scriva di queste righe
    response.write("voce[" & i & "] =""" & menu.fields.item("AAA").value & """;")
    che dovrebbe essere la sintassi per aggiungere item ad una var di tipo Array in JS, ora però come faccio a riportare il risultato nella funzione JS dove andrebbe inserito?

    (la funzione JS dove va inserito dovrebbe essere eseguita anch'essa al caricamento della pagina, subito dopo la chiamata alla parte server side)


    grazie
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    in questo caso credo che bisogni usare eval. Ti passo un piccolo esempio
    codice:
    <%@ Language=VBScript %>
    <%
    	option explicit
    	
    	Response.Buffer = true
    	Session.LCID = 1040
    	onload
    %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Pagina senza titolo</title>
    <script type="text/javascript" src="../js/ajax.js"></script>
    
    <script language="javascript" type="text/javascript">
    // <!CDATA[
    window.onload = function()
    {
        $("Button1").onclick = Button1_click;
    }
    var vettore = null;
    function Button1_click()
    {
        ajax("a.asp?ajax_comando=1", onload);
        function onload()
        {
            var t = this.request.responseText;
    		
    		try
    		{
    			vettore = eval("(" + t + ")");
    			var s = "";
    			for(var i = 0; i < vettore.length; i++)
    			    s += vettore[i] + "\n"
    			alert(s);
    			
    		}
    		catch (err)
    		{
    			alert("Errore nell'analizzare l'oggetto ricevuto");
    			return;
    		}
            
        }
    }
    // ]]>
    </script>
    
    </head>
    <body>
        <input id="Button1" type="button" value="richiama ajax" />
    </body>
    </html>
    <%
    sub onload()
        dim ajax_comando
        ajax_comando = request("ajax_comando")
        if(ajax_comando = "1") then ajax_1
    end sub
    
    sub ajax_1()
        dim v
        v = "[""Stefano"",""Carlo"",""Nicola""]"
        
        
        response.Clear
        response.Write(v)
        response.End
    
    end sub
    
    %>
    Pietro

  3. #3
    Per aggiungere scripting dinamicamente non serve Ajax, basta creare uno script con src = "pagina.con.js" ed appenderlo alla pagina ("vecchio" stile remoting)
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #4
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    Originariamente inviato da andr3a
    Per aggiungere scripting dinamicamente non serve Ajax, basta creare uno script con src = "pagina.con.js" ed appenderlo alla pagina ("vecchio" stile remoting)
    cioè dovrei avere una pagina A.htm che chiama con l'HttpRequest la pagina B.asp che scrive su una pagina C.js che poi includo nella A.htm?

    Io volevo dalla A.htm chiamare la B.asp e far si che quest'ultima scrivesse direttamente il javascript nella A.htm
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  5. #5
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Originariamente inviato da supermac
    Io volevo dalla A.htm chiamare la B.asp e far si che quest'ultima scrivesse direttamente il javascript nella A.htm
    se vuoi fare così ti basta far restituire codice javascript dalla pagina B.asp e richiamarla come un js esterno nella pagina A.htm
    codice:
    <script language="javascript" src="B.asp"></script>

  6. #6
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,881
    Originariamente inviato da willybit
    se vuoi fare così ti basta far restituire codice javascript dalla pagina B.asp e richiamarla come un js esterno nella pagina A.htm
    codice:
    <script language="javascript" src="B.asp"></script>
    forse sì ma per aggiornare il contenuto della pagina devo aggiornare l'intera pagina mentre con l'ajax la caricavo una volta sola e poi col js aggiornavo la parte che mi interessa (incluso l'array js che vorrei fargli scrivere) leggendo nella pagina asp quel che doveva fare
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  7. #7
    ti basta reincludere la pagina con un random appeso


    Ajax non serve a fare quello che vorresti fare
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.