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

    [Ajax] caricare pagina html

    Salve a tutti....

    Da qualche giorno mi sto cimentando con Ajax e con le richieste XMLHttpRequest.
    Sto realizzando un piccolo progetto, ma ho un altrettanto piccolo problema:

    Ho realizzato la seguente funzione:
    codice:
    function loadAnnotationBody(preview_annotation_div_id, annotation_div_id, annotation_body){
    	var ajax=getXMLHttpRequest();
    	if(ajax)
    	{
    		/*alert(annotation_body);*/
    		ajax.open("GET", annotation_body, true);
    		ajax.setRequestHeader("connection", "close");
    		ajax.onreadystatechange = function()
    		{
    			if(ajax.readyState==4)
    			{
    				if(statusText[ajax.status]==200)
    				{
    					if(ajax.responseXML)
    					{
    						alert("ciao");
    						var xmldoc=ajax.responseXML;
    						var text=xmldoc.getElementsByTagName('body')[0].childNodes[0].nodeVale;
    						alert(text);
    					}
    					else
    					{
    						alert("ERRORE");
    					}
    				}
    			}
    		}
    	}
    }
    che dovrebbe caricare un piccola pagina html come se fosse un xml (anche se in realtà è esattamente la stessa cosa).
    la funzione "getXMLHttpRequest()" è quella che si trova nella huida a ajax di HTML.it.
    Tramite il parametro "annotation_body" viene passato l'indirizzo della pagina html da caricare
    (ad esempio "http://192.168.0.114/annotea/body/000000004D"). Nella console degli errori di fire fox non risulta
    nessun errore. Facendo qualche prova con degli alert quello che posso dire è che sembra non entrare nel blocco
    "ajax.onreadystatechange = function()".

  2. #2
    Mi rispondo da solo:
    NON FACEVO IL send(null);

  3. #3
    tralasciando il fatto che prima non facevo il send della richiesta, ho modificato il codice nel seguente modo:
    codice:
    function loadAnnotationBody(preview_annotation_div_id, annotation_div_id, annotation_body){
      var ajax=getXMLHttpRequest();
      if(ajax)
      {
        alert(annotation_body);
        ajax.open("GET", annotation_body, true);
        ajax.setRequestHeader("connection", "close");
        ajax.onreadystatechange = function()
        {
          if(ajax.readyState==4)
          {
            if(statusText[ajax.status]==200)
            {
                var xmldoc = ajax.responseXML.documentElement;
                var corpi = xmldoc.getElementByTagName('html');
                alert(corpi.length); /* 1 */
                alert(ajax.responseText); /* 2 */
            }
          }
        }
      }
    }
    Quello che mi servirebbe è trattare la pagina html ricevuta in risposta come un xml.
    l'alert 1 mi restituisce come dimensione di corpi 0, mentre il 2 mi restiuisce correttamente il codice html della pagina ricuvuta in risposta.... :master:
    Questo è la pagina che viene restituita:
    codice:
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <title />
      </head>
      <body>
        Ti proponiamo un percorso di addestramento per imparare a comprendere meglio le informazioni che trovi navigando in rete.
      </body>
    </html>
    Quello che mi interessa è prelevare il contenuto del nodo <body>, anche se per adesso provo solo a prendere l'attributo xmlns del nodo <html>

    Grazie a tutti!!!!!

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.