Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    82

    jquery chiamata ajax on window load non fa niente!

    Ciao ragazzi, mi succede una cosa strana:

    Provo a fare una chiamata ajax per farmi tornare un json da un asmx.
    Questa chiamata se la faccio partire all'onclick di un pulsante va a buon fine. A me serve però che questa chiamata venga fatta appena siano pronti tutti gli elementi della pagina, quindi ho provato sia nel window load che nel document ready, ma a questo punto la chiamata non mi va ne a buon fine ne in errore. Non so cosa fare, avete suggerimenti?
    Di seguito lo script:
    codice:
    <script type="text/javascript" language="javascript">
    	    jQuery(document).ready(function ($) {
    	        $.ajaxSetup({
    	            cache: false,
    	            dataType: "html",
    	            error: function (xhr, status, error) {
    	                alert('An error occurred: ' + error);
    	            },
    	            timeout: 30000, // Timeout of 30 seconds
    	            type: "GET",
    	            beforeSend: function () {
    	                alert('In Ajax beforeSend function');
    	            },
    	            complete: function () {
    	                alert('In Ajax complete function-Log message');
    	                //                    console.debug('In Ajax complete function-Debug message');
    	                //                    console.error('In Ajax complete function-Error message');
    	                //                    console.info('In Ajax complete function-Info message');
    	                //                    console.warn('In Ajax complete function-Warn message');
    	            }
    	        });
    
    	        $(window).load(function () {
    	            var id = $.urlParams('rif');
    	            var valtipo = $.urlParams('type');
    	            $.ajax({
    	                type: 'POST',
    	                url: "WebService.asmx/Get_Scheda",
    	                data: JSON.stringify({ iddvm: "2362",
    	                    riferimento: id,
    	                    TipoTabella: valtipo
    	                }),
    	                contentType: 'application/json; charset=UTF-8',
    	                dataType: 'json',
    	                beforeSend: function () {
    	                    // this is where we append a loading image
    	                    alert('prima');
    	                },
    	                success: function (data)           //what to do if succedded
    	                {
    	                    var obj = $.parseJSON(data.d);
    	                    alert('dentro');
    	                    $.each(obj, function () {
    	                        $('#latitudine').val(this['latitudine']);
    	                        $('#longitudine').val(this['longitudine']);
    	                        $("#riferimento").empty();
    	                        $("#riferimento").append("<span>Offerta " + id + "</span>
    
    ......................</p>");
    	                        $("#prezzo").empty();
    	                        $("#prezzo").append("<span class='price-tag'>" + this['prezzo'] + " EURO</span>");
    	                        $("#tipologia").empty();
    	                        $("#tipologia").append("<span class='value'>" + this['tipologia'] + "</span>");
    	                        $("#mq").empty();
    	                        $("#mq").append("<span class='value'>" + this['mq'] + "</span>");
    	                        $("#camere").empty();
    	                        $("#camere").append("<span class='value'>" + this['camere'] + "</span>");
    	                        $("#locali").empty();
    	                        $("#locali").append("<span class='value'>" + this['locali'] + "</span>");
    	                        $("#bagni").empty();
    	                        $("#bagni").append("<span class='value'>" + this['bagni'] + "</span>");
    	                        $("#posto_auto").empty();
    	                        $("#posto_auto").append("<span class='value'>" + this['posto_auto'] + "</span>");
    	                        $("#zona").empty();
    	                        $("#zona").append("<span class='value'>" + this['zona'] + "</span>");
    	                        $("#classe_energetica").empty();
    	                        $("#classe_energetica").append("<span class='value'>" + this['classe_energetica'] + "</span>");
    	                        if (this['foto1'] != '') {
    	                            $("#foto1").attr("src", this['foto1']);
    	                            //$("#afoto1").attr("href", this['foto1']);
    	                        }
    	                        if (this['foto1'] != '') {
    	                            $("#foto2").attr("src", this['foto1']);
    	                            $("#afoto2").attr("href", this['foto1']);
    	                        }
    	                        if (this['foto2'] != '') {
    	                            $("#foto3").attr("src", this['foto2']);
    	                            $("#afoto3").attr("href", this['foto2']);
    	                        }
    	                        if (this['foto3'] != '') {
    	                            $("#foto4").attr("src", this['foto3']);
    	                            $("#afoto4").attr("href", this['foto3']);
    	                        }
    	                        if (this['foto4'] != '') {
    	                            $("#foto5").attr("src", this['foto4']);
    	                            $("#afoto5").attr("href", this['foto4']);
    	                        }
    	                        if (this['foto5'] != '') {
    	                            $("#foto6").attr("src", this['foto5']);
    	                            $("#afoto6").attr("href", this['foto5']);
    	                        }
    	                        if (this['foto6'] != '') {
    	                            $("#foto7").attr("src", this['foto6']);
    	                            $("#afoto7").attr("href", this['foto6']);
    	                        }
    	                        $("#pertinenze").empty();
    	                        $("#pertinenze").append("Pertinenze: " + this['pertinenze']);
    	                        $("#impianti").empty();
    	                        $("#impianti").append("Impianti e Riscaldamento: " + this['impianti']);
    	                        $("#pavimenti").empty();
    	                        $("#pavimenti").append("Pavimenti e infissi: " + this['pavimenti']);
    	                        $("#accessori").empty();
    	                        $("#accessori").append("Accessori e Rifiniture: " + this['accessori']);
    	                        $("#servizi").empty();
    	                        $("#servizi").append("Servizi e Varie: " + this['servizi']);
    	                        $("#descrizione").empty();
    	                        $("#descrizione").append("
    
    " + this['descrizione'] + "</p>");
    	                        $("#telefono").empty();
    	                        $("#telefono").append(this['telefono_referente']);
    	                        $("#indirizzo").empty();
    	                        $("#indirizzo").append(this['indirizzo_referente']);
    	                        $("#email").attr("href", "mailto:" + this['email_referente']);
    	                        $("#sito").empty();
    	                        $("#sito").append("" + this['sito_referente'] + "");
    	                    });
    
    
    	                },
    	                error: function (jqXHR, textStatus, errorThrown)   //what to do if fails
    	                {
    	                    alert('bad, ' + errorThrown + ", " + jqXHR.responseText + ", " + textStatus);
    	                }
    	            });
    	        });
    	    });
            
        </script>

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    A) .load() è l'equivalente di una inclusione pertanto lo puoi utilizzare associato ad un oggetto (div, p, span, etc...) del documento non a window
    B) se il tutto deve partire al caricamento del documento deve essere racchiuso nel ready
    $(document).ready(function(){codice....})
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    82
    Ciao Andrea,
    intanto grazie.

    Ho cambiato come da suggerito, avevo già provato, ma il problema è che entra nella funzione ,
    ma è come se la chiamata ajax non vada nel blocco success: Il problema è che non va neanche nel blocco error: , non riuscendo così a capire il problema

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Prima vedi che dati passi con alert alla pagina e quest'ultima cosa risponde, comunque la console dovrebbe darti un errore
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    82
    i parametri passati in url vengono letti bene.
    Facendo il debug con Firebug si vede proprio che esegue le istruzioni, ma non entra in alcun blocco!!
    AL server la chiamata non arriva proprio

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Sicuro che WebService.asmx supporti json?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    82
    si assolutamente, se lego la funzione al click di un pulsante funziona

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Ok, ma è molto strano che tutto vada bene se premi un tasto funziona mentre al ready no comunque se non trovi il problema metti un tasto nascosto con opacity e al ready usi l'evento trigger
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    82
    può essere una soluzione:
    hai un esempio di utilizzo?

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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 © 2024 vBulletin Solutions, Inc. All rights reserved.