Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [ajax] inviare pagina html

    Salve a tutti, ho un semplice script in ajax che mi passa una variabile contenente del codice html tramite metodo post.
    Purtroppo passa il codice in modo strano: tutto attaccato, e mi pare che viene smorzato ad ogni carattere & che incontra, vi posto il codice:

    codice:
    function eseguiRichiesta(prv) {
            var http_request = false;
    		nCampo = prv;
    
            if (window.XMLHttpRequest) { // Mozilla, Safari,...
                http_request = new XMLHttpRequest();
                if (http_request.overrideMimeType) {
                    http_request.overrideMimeType('text/xml');
                    
                }
            } else if (window.ActiveXObject) { // IE
                try {
                    http_request = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    try {
                        http_request = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {}
                }
            }
    
            if (!http_request) {
                alert('Giving up :( Non riesco a creare una istanza XMLHTTP');
                return false;
            }
            http_request.onreadystatechange = function() { alertContents(http_request); };
    		http_request.open('POST', 'support/fileBak.asp', true);
     		http_request.setRequestHeader("content-type", "application/x-www-form-urlencoded");
    		http_request.setRequestHeader("Content-length", nCampo.length);
    
     		http_request.send("testo="+nCampo);
    
        }
    
        function alertContents(http_request) {
    
            if (http_request.readyState == 4) {
                if (http_request.status == 200) {
    				
    				strRes = http_request.responseText;
    				alert("testo= "+strRes);
    				
    			
    				
                } else {
                    alert('Si è verificato un problema con la richiesta'+http_request.status);
                }
            }
    
        }
    vi sarei grato per ogni vostro aiuto
    grazie, ciao.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non puoi visualizzare del codice html mediante un alert.... mettilo dentro una textarea.

    "smorzato"
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    in teoria, il codice viene passato nella pagina asp fileBak.asp
    codice:
    http_request.open('POST', 'support/fileBak.asp', true);
    che si occupa di salvarlo in un file di testo e il risultato è lo stesso.
    ahahahah, ok viene tagliato dalla & va meglio così ?

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da DarioMarco
    in teoria, il codice viene passato nella pagina asp fileBak.asp
    codice:
    http_request.open('POST', 'support/fileBak.asp', true);
    che si occupa di salvarlo in un file di testo e il risultato è lo stesso.
    ahahahah, ok viene tagliato dalla & va meglio così ?
    Questa parte mi incuriosisce...

    Mi sa comunque che con cosi' poche info non la risolviamo.... posta almeno la porzione di HTML inviata che ti da problemi in ricezione...
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    ok, grazie per la tua disponibilità, posto tutto il codice maligno:

    Questa parte prende il codice dalla textarea testo (ho usato il tinymce per creare il codice html)

    codice:
    function mysave() {        
    var ed = tinyMCE.get('testo');
    txt = ed.getContent();  
    eseguiRichiesta(txt);      
    ed.setProgressState(1); // Show progress        
    window.setTimeout(function() {                
    ed.setProgressState(0); // Hide progress                       
    }, 
    3000);
    }
    Eseguo questa funzione ajax richiamata nel codice di prima per mandare i dati in una pagina asp che li inserisce in un file di testo

    codice:
    function eseguiRichiesta(prv) {
            var http_request = false;
    		nCampo = prv;
    
            if (window.XMLHttpRequest) { // Mozilla, Safari,...
                http_request = new XMLHttpRequest();
                if (http_request.overrideMimeType) {
                    http_request.overrideMimeType('text/xml');
                    // Vedi note sotto
                }
            } else if (window.ActiveXObject) { // IE
                try {
                    http_request = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    try {
                        http_request = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {}
                }
            }
    
            if (!http_request) {
                alert('Giving up :( Non riesco a creare una istanza XMLHTTP');
                return false;
            }
            http_request.onreadystatechange = function() { alertContents(http_request); };
          
    		http_request.open('POST', 'support/fileBak.asp', true);
    	   
     		http_request.setRequestHeader("content-type", "application/x-www-form-urlencoded");
    		http_request.setRequestHeader("Content-length", nCampo.length);
    
     		
     		http_request.send("testo="+nCampo); 
    	   
    
        }
    fin qui va tutto bene perchè se faccio un alert del tipo nCampo, mi da il testo giusto, ma dall'alert di questa funzione quà sotto, da un testo
    codice:
     
        function alertContents(http_request) {
    
            if (http_request.readyState == 4) {
                if (http_request.status == 200) {
    				
    				strRes = http_request.responseText;
    				alert("testo= "+strRes);
    				
                } else {
                    alert('Si è verificato un problema con la richiesta'+http_request.status);
                }
            }
    
        }

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Aspetta, non ci siamo capiti...

    Appurato che il salvataggio del file lo fai lato server non ho capito chi riceve mail il testo (il server? non mi pare, ritengo tu abbia controllato il contenuto del file salvato ) ma rileggi quello che ti ho scritto:
    Originariamente inviato da br1
    Non puoi visualizzare del codice html mediante un alert.... mettilo dentro una textarea.
    Originariamente inviato da br1
    posta almeno la porzione di HTML inviata che ti da problemi in ricezione...
    ovviamente intendevo parlare di cio' che ricavi dall'editor, anzi per la precisione cio' che ti invia il server.
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    Si, è vero, c'è stata un pò di confusione, la terza porzione di codice in teoria servirebbe ad appurare che il file è stato inviato al server, l'alert, lo avrei rimosso successivamente.
    Nel file di testo inviata dal server ho trovato questa catastrofe
    codice:
    <divid="cont_centrale"><divid="head4"><spanstyle="color:#000000;"><spanstyle="font-family:TimesNewRoman,serif;"><spanstyle="font-size:medium;">InCalabriasullaNeveperTutti</span></span></span><spanstyle="color:#0a0a0a;"><spanstyle="font-family:TimesNewRoman,serif;"><spanstyle="font-size:medium;"><spanstyle="color:#000000;"><spanstyle="font-size:small;">
    </span></span></span></span></span></div><pstyle="margin-bottom:0cm;widows:2;orphans:2;text-align:justify;"align="LEFT"><spanstyle="color:#0a0a0a;"><spanstyle="font-family:TimesNewRoman,serif;"><spanstyle="font-size:medium;"><spanstyle="color:#000000;"><spanstyle="font-size:small;">CiaspolateinCalabria</span></span></span></span></span></p><pstyle="margin-bottom:0cm;widows:2;orphans:2;text-align:justify;"align="LEFT"><spanstyle="color:#000000;"><spanstyle="font-family:TimesNewRoman,serif;"><spanstyle="font-size:small;">InAspromonte,sulPollinoeinSilasullaneveconleciaspole.Lungoisentieriinnevatietradistesemillenariedipiniefaggeteesuggestivilaghid

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    E questo cosa evidenza? Aiutino, che un problema lato server? Forse hai un Trim(codice) che elimina tutti gli spazi, comunque va approfondito lato server io farei spostare la discussione sul forum asp
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Per cortesia rispondi alle seguenti domande:

    Giuseppe (l'utente) ha davanti una pagina che contiene un editor. Al suo interno scrive qualcosa... cosa?

    La paginetta davanti a Giuseppe invia qualcosa al server, che riceve... cosa? (devi dirci anche come ti sei accertato di cio' che ha ricevuto)

    Ipotizziamo che un'altra pagina sul server (o la stessa, fai tu) recuperi i dati di Giuseppe che aveva memorizzato da qualche parte ... cosa?

    ... e li invii a Roberto (un altro utente) ... cosa arriva sul browser?

    ps: leggi anche qui: http://forum.html.it/forum/showthrea...readid=1141903
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  10. #10
    non ho nessun trim il codice che ho postato mi restituisce quel risultato anche in un div con il comando innerHTML.

    Rispondo alle tue domande:
    - Giuseppe scrive nella text box esattamente questo testo:
    mi sono svegliato presto stamattina e mi sono accroto che era domenica, ed è una bella giornata e uscirò con frank & company

    - la paginetta inviata al server riceve questo:
    misonosvegliatoprestostamattinaemisonoaccrotocheer adomenica,ed

    - se la invio ad un altro utente penso arrivi la stessa cosa.

    ho letto il link che mi hai dato ed è tanto interessante quanto lungo, lo voglio approfondire bene, penso sia la mia stessa problematica, ti ringrazio.

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.