Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: XMLHttpRequest su IE

  1. #1

    XMLHttpRequest su IE

    Ciao ragazzi, sto non poco sclerando nell'utilizzare XMLHttpRequest. Ho trovato in giro diversi script, dal piu' complesso al piu' semplice. Ho optato per quest'ultimo anche perche' visto quanto e' complicato debuggare (almeno per chi e' abiutato a Flash come me) ed avendo problemi, e' meglio partire dalla base.

    Ho seguito questo tutorial:

    http://developer.apple.com/internet/...mlhttpreq.html

    E, a parte il fatto che in locale il "req.status" non diventa uguale a 200, in IE da come potete vedere a questo indirizzo dagli alert http://nuthinking.com/test/lateral/p...der_apple.html

    in IE l'oggetto XML arriva errato.

    Qualche anima pia sa spiegarmi dove puo' essere il problema? Anche perche' in certi siti in cui ho trovato gli script gli esempi funzionavano anche sul mio IE ma poi quando provavo a ricrearmeli io giu' dolori.


    Grazie mille per ogni suggerimento, chr

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    posta lo script che hai scritto e scrivi tutto ciò che può servire per identificare il problema (i.e. con quale browser si verifica, cosa vorresti che facesse e cosa invece fa...)

    le solite cose insomma

    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Ciao f, beh, seppur non sono tra le persone che si esprime meglio mi sembra che la cosa fosse abbastanza chiara, o perlomeno rispetto alle tue domande Sia per il fatto che il codice si può vedere facilmente dalla pagina sia perchè il risultato si vede dagli alert. Il problema è con IE (Internet Explorer), dopo aver cliccato il bottone "getCollections!" all'url da me indicato (http://nuthinking.com/test/lateral/p...der_apple.html), con Firefox al terzo alert si ottiene un oggetto, con IE niente (addirittura pare neanche "null"). In poche parole non arriva l'oggetto result.responseXML.documentElement, il che mi rende poi impossibile fare il parsing.

    Hai provato la pagina? ti servono ulteriori chiarimenti?


    Grazie per la disponibilità, chr

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da gabon
    Ciao f, beh, seppur non sono tra le persone che si esprime meglio mi sembra che la cosa fosse abbastanza chiara, o perlomeno rispetto alle tue domande Sia per il fatto che il codice si può vedere facilmente dalla pagina sia perchè il risultato si vede dagli alert. Il problema è con IE (Internet Explorer), dopo aver cliccato il bottone "getCollections!" all'url da me indicato (http://nuthinking.com/test/lateral/p...der_apple.html), con Firefox al terzo alert si ottiene un oggetto, con IE niente (addirittura pare neanche "null"). In poche parole non arriva l'oggetto result.responseXML.documentElement, il che mi rende poi impossibile fare il parsing.

    Hai provato la pagina? ti servono ulteriori chiarimenti?


    Grazie per la disponibilità, chr
    Perche in IE non è presente oggetto XMLHttpRequest prova a leggere qui
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    infatti nel mio codice c'è il detector:

    codice:
    req = new ActiveXObject("Msxml2.XMLHTTP");
          	} catch(e) {
            	try {
              		req = new ActiveXObject("Microsoft.XMLHTTP");
    etc...
    In effetti non si tratterebbe più di XMLHttpRequest con IE ma bene o male il funzionamento dovrebbe essere simile. Ripeto, sono partito da tutorial che ho visto in giro e che funzionavano anche con il mio IE.

    Qualche idea? Grazie, chr

  6. #6
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  7. #7
    Sto avendo problemi con il server, damn!

    Grazie cmq per la disponibilità, chr

  8. #8
    Visto che il mio sito e' down, ecco il codice che ho utilizzato (l'ho pulito un po' da commenti e righe che cmq non dovrebbero influenzare l'esito) e':

    codice:
    var req;
    
    function loadXMLDoc(url) {
    	req = false;
         if (window.XMLHttpRequest) {
            req = new XMLHttpRequest();
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send(null);
        } else if (window.ActiveXObject) {
            req = new ActiveXObject("Microsoft.XMLHTTP");
            if (req) {
                req.onreadystatechange = processReqChange;
                req.open("GET", url, true);
                req.send();
            }
        }
    }
    function processReqChange() {
        if (req.readyState == 4) {
    		var xmlDoc=req.responseXML;
            if (req.status == 200) {
    		var oCollections=xmlDoc.documentElement;
    		alert("obj: "+oCollections);
            } else {
                alert("There was a problem retrieving the XML data:\n" +
                    req.statusText);
            }
        }
    }
    E l'alert mi da quindi esiti differenti se lo vedo in IE o in Firefox. Ammetto di aver provato stamattina un'altro script con cui ho caricato un file di testo e tutto ha funzionato perfettamente. Credo quindi sia proprio un problema con l'xml. Qualche idea?


    Grazie, chr

  9. #9
    A parte il req.status che in locale ovviamente non funziona, sapete di altri inconvenienti che potrebbero esserci nel provarlo in quel contesto?

    Grazie, chr

  10. #10
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    intanto genera un alert per lo status:

    codice:
    ...
      alert(req.status);
      if (req.status == 200) {
    ...
    e provalo con i vari browser... ti restituisce sempre 200 anche con IE??
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

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.