Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    74

    ajax chiamata sincrona funziona con ie e non con firefox

    Ciao, ho scritto una funzione js che recupera un valore tramite ajax e lo inserisce in un campo 'text'. La richiesta deve essere sincrona perchè il valore recuperato è necessario per proseguire lo script. Funziona bene con ie 8, ma con firefox il valore di ritorno è vuoto. Vi posto il codice.
    //chiamata ajax
    if (window.XMLHttpRequest)
    {
    request=new XMLHttpRequest();
    }else{
    request=new ActiveXObject("Microsoft.XMLHTTP");
    }

    if (request)
    {
    request.open("POST",my_url,false);
    request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

    request.onreadystatechange=

    function()
    {
    if (request.readyState == 4)
    {

    if(request.status == 200 || request.status == 404)
    {

    document.getElementById('txt_query').value=request .responseText;

    }

    }
    }
    request.send(message);


    }else{
    alert("Il tuo browser non è abilitato per l'utilizzo di ajax");
    return false;
    }

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ma la chiamata quanto viene eseguita?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    74
    La chiamata viene eseguita quando nel form html si fa click sul pulsante invia (di tipo button). Il form viene verificato e preparato per l'invio. Se è tutto ok viene inviato, altrimenti viene visualizzata un'alert e l'invio viene interrotto.

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Se non puoi mettere niente online da testare, prova ad inserire degli alert per verificare i vari step
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    74

    ajax chiamata sincrona funziona con ie e non con firefox (Risolto)

    Ho risolto, bastava eliminare la funzione che verifica onReadyStateChange, probabilmente nelle chiamate sincrone non è necessaria. In ogni caso posto il codice funzionante e crossbrowser se dovesse servire a qualcuno. Grazie. Ciao

    var variabile='';
    var my_url='';//file da richiamare
    var message='';//parametri da inviare al file da richiamare

    //richiesta ajax
    if (window.XMLHttpRequest)
    {
    request=new XMLHttpRequest();
    }else{
    request=new ActiveXObject("Microsoft.XMLHTTP");
    }

    if (request)
    {
    request.open("POST",my_url,false);
    request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    request.send(message);

    //posso modificare il testo di un campo del form
    document.getElementById('nome_campo').value=reques t.responseText;

    //oppure archiviare il valore dentro una variabile
    variabile=request.responseText;

    }else{
    alert("Il tuo browser non è abilitato per l'utilizzo di ajax");
    return false;
    }

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.