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

    [AJAX] 12152 e IE8, ci risiamo...

    Tempo fa scrissi sul forum riguardo l'errore 12152, che significa che la connessione dell'oggetto Ajax alla pagina chiamata viene interrotta dal server, vai a capire tu il motivo...

    A quel tempo risolsi il problema grazie ad un consiglio vostro, ovvero passando tramite query string anche una variabile random che ai fini pratici non serviva a nulla ma ingannava il browser facendo intendere che chiamavo sempre una pagina diversa.

    Oggi, grazie all'avvento di IE8, mi ritrovo con lo stesso problema e neanche la variabile random riesce a salvarmi.

    Ho una pagina che richiama una funzione Javascript.

    Area di Test:
    Con Firefox va benissimo.
    Con IE8 anche.

    Mando online:
    Con Firefox va benissimo.
    IE8 scapoccia: apro il browser, entro nella pagina, esegue la funzione senza problemi, da questo momento, ovvero dopo la prima esecuzione della chiamata da parte dell'oggetto Ajax della pagina di servizio, non riesce più ad eseguire la pagina di servizio.

    In sostanza:
    1° Esecuzione: Ajax.status=200 (ok)
    Dalla 2° in poi: Ajax.status=12152 (connessione chiusa dal server)

    Posso uscire dalla pagina, navigare, refresh, quello che vi pare, ma niente, l'unico modo per farla funzionare nuovamente è chiudere completamente il browser e riaprirlo....

    Sapete da cosa possa dipendere?

    Grazie

  2. #2
    Fermo restando che sarebbe stato bello che tu avessi postato il codice della chiamata Ajax che fai, vedi se QUESTO può risolvere la tua situazione.

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  3. #3
    Ah, scusa, ora posto il codice:
    codice:
    function ElencoProdotti(idService) {
        var 
        ajax = assegnaXMLHttpRequest(),
        idProdotti="",
        sito="";
        if(servizi_hoc[idService]!=undefined)
            idProdotti=servizi_hoc[idService];
        if(idProdottiG==idProdotti)
            return;
        idProdottiG=idProdotti;
    	if(ajax) {
                    sito="SetNewACE_ajax.asp?idprodotti="+idProdotti+"&rnd="+Math.random();
    		ajax.open("get", sito, true);
    		ajax.onreadystatechange = function() {
    			// verifica dello stato
    			if(ajax.readyState === 4) {
    				// verifica della risposta da parte del server
    				if(ajax.status === 200){
    					var risposta=ajax.responseText;
    					if(risposta!=""){
    						  document.getElementById("elenco_prodotti").innerHTML=risposta;
    					}
    				}else{
                    alert("non 200 ma "+ajax.status);
                  }
               }
    		}
    		// invio richiesta
    		ajax.send(null);
    	}
    }

  4. #4
    Risolto, grazie dell'aiuto, è come dice il tipo nel link che mi hai passato.

    Nelle pagine con particolari restrizioni di accesso se si usa ajax.setRequestHeader("connection", "close"); si perdono poi sulla pagina chiamata i permessi di esecuzione, la prima volta funziona perché i permessi sono i regola, ma alla prima chiusura non va più.

    Estromettendo ajax.setRequestHeader("connection", "close"); ora va tutto benissimo.

    Tnx

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.