Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    112

    problema invio variabili ajax

    ciao ragazzi io ho un problema con uno script.php allora dovrei ricaricare il contenuto aggiornato di script.php in un div senza ricaricare la pagina index.php e ho pensato a ajax
    ora ho trovato nella guida la funzione per creare l'oggetto xmlhttp
    codice:
    function assegnaXMLHttpRequest() {
    var
    XHR = null,
    browserUtente = navigator.userAgent.toUpperCase();
    if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")
    	XHR = new XMLHttpRequest();
    	else if(window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0) {
    	if(browserUtente.indexOf("MSIE 5") < 0)
    XHR = new ActiveXObject("Msxml2.XMLHTTP");
    else
    XHR = new ActiveXObject("Microsoft.XMLHTTP");
    }
    return XHR;
    };
    ora pero non so come inviare variabili e prendere un elemento con id per sostituire il contenuto che la chiamata mi ristituirà.

  2. #2
    quella funzione genera soltanto l'elemento XMLHttpRequest corrispondente al browser che è in uso, nella funzione che effettua la chiamata fai:
    Codice PHP:
    //url conterrà il path al file da caricare con AJAX, divId è l'id del div dove caricare il contenuto.
    var req;
    function 
    callAjax(urldivId){
       
    req assegnaXMLHttpRequest();
       if(!
    req)
       {
          
    alert('Impossibile istanziare XMLHttpRequest');
          return;
       }
       
    req.onreadystatechange = function(x)
       {
            if (
    req.readyState==4){// 4 = "loaded"
              
    if (req.status==200){// 200 = OK
                 
    document.getElementBiId(divId).innerHTML req.responseText;
              }
              else{
                
    alert("Problem retrieving XML data");
              }
           }
       }
       
    req.open('GET'urltrue);
       
    req.send(null);

    I DON'T Double Click!

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    112
    grazie mille per avermi risposto subito allora iserisco la prima funzione che ho postato cosi da creare l'oggetto poi con la funzione postata da te invio i dati , controllo lo stato e ottengo i risultati. GIUSTO! una sola cosa perchè alle tue funzioni gli devo passare gli argomenti url e divid non li recupera da sola?

  4. #4
    se sapessi dove andare a recuperarle... comunque, così puoi riutilizzare la stessa funzione anche in altre possibilità.
    tipo:

    vuoi mettere il contenuto di prova1.php nel div con id="prova1" ed il contenuto di prova2.php nel div con id="prova2"?

    Codice PHP:
    window.onload = function(){
       
    callAjax('prova1.php''prova1');
       
    callAjax('prova2.php''prova2');
    }

    function 
    callAjax(urldivId){
       var 
    req assegnaXMLHttpRequest();
       if(!
    req)
       {
          
    alert('Impossibile istanziare XMLHttpRequest');
          return;
       }
       
    req.onreadystatechange = function(x)
       {
            if (
    x.readyState==4){// 4 = "loaded"
              
    if (x.status==200){// 200 = OK
                 
    document.getElementBiId(divId).innerHTML x.responseText;
              }
              else{
                
    alert("Problem retrieving XML data");
              }
           }
       }
       
    req.open('GET'urltrue);
       
    req.send(null);

    N.B ho modificato una cosa nel onreadystatechange di callAjax() perchè sia completamente asincrona.
    I DON'T Double Click!

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    112
    ho visto hai usato l'argomento x della funzione document.getElementBiId(divId).innerHTML = x.responseText; al posto di req.responseText;

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.