Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    7

    richieste ajax e passaggio al php di innerHTML di un iframe

    Salve a tutti

    Ho una funzione javascript che effettua due richieste ajax...
    con la prima tramite uno script php ottengo una pagina html (file_get_contents) e la restituisco al javascript che ci fa delle operazioni e la salva in un iframe (operazione necessaria per la mia elaborazione).
    successivamente dovrei rispedire il contenuto (come stringa!) di tale iframe al prossimo script php tramite un'altra funzione ajax...e qui che sorge il problema:
    document.getElementById('iframe').contentDocument. body.innerText viene letta dal php come undefined....se forzo una esecuzione di tutto il javascript nuovamente allora ho il risultato atteso...come se il contenuto dell'iframe non potesse essere letto durante quell'istanza???

    grazie mille in anticipo...

  2. #2
    Ciao Cecca,
    puoi postare un link alla pagina?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    7
    per ora la eseguo solo sul localhost....
    questo è la seconda richiesta ajax


    function altroAjaxGestore() {
    var xmlHttp;


    try { xmlHttp=new XMLHttpRequest(); } //(1)
    catch (e) {
    try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } //(2)
    catch (e) {
    try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }
    catch (e) {
    window.alert("Il tuo browser non supporta AJAX!");
    return false;
    }
    }
    }

    xmlHttp.onreadystatechange = function() {
    if(xmlHttp.readyState == 4) {



    }

    }



    var dati = doc.body.innerText;;

    xmlHttp.open("POST", "../phps/prova.php", true);
    xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    xmlHttp.send("param="+dati);

    }


    all'interno della precedente richiesta faccio

    doc = document.getElementById('iframe').contentDocument;

    doc.open();

    doc.write(appoggio); (in appoggio la risposta dal php)

    doc.close();


    le richieste sono chiamate in successione...

    function main(par){

    ponte = par;

    ajaxGestore();


    altroAjaxGestore();

    }

  4. #4
    il codice che hai postato non chiarisce i miei dubbi...
    Il problema potrebbe risiedere nel fatto che esegui richieste asincrone in sequenza,
    prova ad eseguire richieste sincrone se hai bisogno della sequenzialità.

    xmlHttp.open("POST", "../phps/prova.php", true);//richiesta asincrona
    xmlHttp.open("POST", "../phps/prova.php", false);//richiesta sincrona

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    7
    grazie mille...probabilmente il problema risiedeva lì ma non avevo saputo risolvere già al tempo quando avevo provato a cambiare la sincronia o meno delle richieste...è come se ciò che facevo nella prima richiesta fosse invisibile nella seconda. Per ovviare lancio la seconda richiesta alla fine della prima (nel corpo dell'onreadystate...) e ora pare funzionare...

    grazie mille ancora

  6. #6
    Prego, figurati

    Ciao

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.