Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Ricevere parametri

  1. #1

    Ricevere parametri

    Ciao a tutti !
    Ho una paginetta js nella quale invio i parametri tramite il metodo post ad una paginetta aspx..

    JS
    codice:
     
    function loadXMLDoc()
    {
    var xmlhttp; alert('entrato');
    if (window.XMLHttpRequest) {
    alert('entrato1');
    xmlhttp=new XMLHttpRequest();
    }else{	
    xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
    alert('entrato2');
    }	
    xmlhttp.onreadystatechange=function()…
    if (xmlhttp.readyState==4 && xmlhttp.status==200){	
    document.getElementById('Ajax').inn… alert('entrato3');	
    }	
    }	
    xmlhttp.open('POST','ProgrammazioneAj…
    xmlhttp.send("Rai+1=Rai+1");	
    }


    ASPX
    codice:
    <%@ Page Language="VB" Trace="false" Debug="true" aspcompat=true%>
    <script runat="server">
    
    Public Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load	
    Dim Rai1
    
    Rai1 = request.form("Rai 1")
    
    response.write("#"+Rai1+"#") 
    
    end sub
    </script>
    Purtoppo non riesco a riceverli..
    Come mai ??
    Grazie

  2. #2
    Nessuno sa aiutarmi ???

  3. #3
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    io sono uno di quelli che non usa XMLHttpRequest ma jquery, molto piu comodo a fronte di nessun svantaggio degno di nota.

    Il problema è che non arriva la richiesta ad asp.net? o arriva ma non vi è traccia della variabile rai 1? in questo secondo caso ti consiglio di provare prima con nomi di variabili piu semplici cosi non corri il rischio di perderti in problemi di url encode. Sempre per quanto riguarda quest'ultimo caso puoi mettere lato server un breakpoint all'inizio di Page_Load ed ispezionare la proprietà Request della pagina e vedere cosa effettivamente arriva dalla richiesta.

    Puoi anche debuggare lato client quando si tratta di ajax con FireBug, la scheda network ti dice tutto cio che rigurarda ogni singola richiesta tra il browser e il server che sia ajax o no. Poi c'è Fiddler che fa piu o meno lo stesso ma è molto piu sofisticato.

    Se il problema è che la richiesta non arriva proprio al server allora hai un problema in fase di chiamata. A tal proposito ti consiglio di ispezionare bene con i due strumenti citati su cosa succede effettivamente sul browser e per ultimo di usare jquery.

    bye

  4. #4
    La richiesta alla pagina arriva, il problema è che non arriva il parametro.. Ho provato a rendere le cose più facili.. Ho provato con Rai1 scritto attaccato, ma niente..

    Analizzando la chiamata con il network.. messo a disposizione da chrome, ho visto che mette il passaggio del parametro Rai1=Rai1 sotto Request Payload, questa voce compare alla fine dei Request Headers..

    Non è che non ricevo i parametri per il "request.form" ???

    codice:
    Rai1 = request.form("Rai1")
    cioè, quello che mando non è un form.. o sbaglio ?

    Grazie

  5. #5
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    credo che anche in vb.net se scrivi

    Request("Rai1")

    lui cerca il parametro di qualunque tipo esso sia.

  6. #6
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Cosi cerca l'id di un controllo.

  7. #7
    Ho provato con
    codice:
    Request("Rai1")
    non va ancora..


  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Perchè non mandi una paginetta completa? Il codice che hai mandato mi pare inutilizzabile per fare controlli.
    Pietro

  9. #9
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    ho cercato di riprodurre al volo la tua situazione e ho visto e ho visto che una pagina aspx non puo accettare (almeno non cosi) richieste ajax post.

    per questi lavori non usare la pagina aspx ma un gestore generico (.ashx) e dovresti risolvere il problema.

    questo è il codice che ho provato con ashx e che funziona....stessa cosa nel page_load di aspx ritorna errore 500 (per mia curiosità scopriro i dettagli del perche).

    GESTORE.ASHX
    codice:
    public class Handler1 : IHttpHandler
        {
    
            public void ProcessRequest(HttpContext context)
            {
                string req = context.Request["id"].ToString();
                context.Response.Write("Inviato ID" + req);
            }
    
            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
        }
    PAGINA HTML CLIENT.HTM (guarda come è piu bello con jquery!)
    codice:
    <!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></title>
        
    </head>
    <body>
        <span id="result"></span>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
        <script>
            $(document).ready(function () {
                var id = 3;
                $.ajax({
                    //type: "POST",
                    url: 'handler1.ashx',
                    data: 'id=' + id,
                    success: function (res) {
                        $('#result').text(res);
                    },
                    error: function (err) {
                        $('#result').text(err);
                    }
                });
            });
            
        </script>
    </body>
    </html>
    P.S.
    Piu debug! il fatto che la richiesta ritorna un codice 500 è una cosa che dovevi vedere tu invece di scrivere che "non legge il parametro"

  10. #10
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    P.S.
    Piu debug! il fatto che la richiesta ritorna un codice 500 è una cosa che dovevi vedere tu invece di scrivere che "non legge il parametro"
    forse ho preso io un abbaglio riguardo a questo punto, ho riprovato dal pc in ufficio e va anche con se ricopio il codice nel page_load di una pagina aspx... forse ho sbagliato qualcosa io stamattina.

    resta valido comunque il consiglio di usare ashx in quanto con aspx mi ritorna in coda tutta la pagina html renderizzata e cmq non serve scomodare tutta la pipeline di asp.net se poi dobbiamo solo scrivere nel response un risultato.

    con l'ashx invece sei ad un livello piu "basso" e quindi piu semplice da gestire e piu performante.

    Il codice postato su anche se in c# funziona, magari puoi usarlo come spunto per risolvere il tuo problema o cercare di isolarlo.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.