2012-09-25 18 views
10

Sto scrivendo un'applicazione web Ajax ma per qualsiasi motivo quando eseguo un GET contro un servizio dati interno in Internet Explorer 9 (IE9) non funziona. Questa stessa chiamata funziona perfettamente con Chrome, Firefox e Safari. Sto usando un server web localhost (wamp) per lo sviluppo e lo sviluppo sulla stessa rete del servizio dati che sto cercando di colpire. Sto usando Jquery 1.8.1 (sono tornato alcune versioni ma vedo ancora il problema). Il mio codice è simile al seguente:Jquery AJAX non funziona in IE9

$(document).ready(function() { 

        var loginUrl = "http://omittedurl.com"; 
        console.log(loginUrl); 
        $.ajax({ 
         type : "GET", 
         url : loginUrl, 
         dataType : "json", 
         success : function(response) { 
          console.log("RESPONSE: " + response); 

         } 
        }); 
      }); 

Come ho dichiarato prima questo codice funziona bene su Chrome e Firefox. In IE9 quando guardo il web debugger non ci sono errori nei log. È come se IE9 fosse completo ignorando il blocco .ajax. Le cose che mi hanno cercato:

  • turno Ajax Caching off
  • URL codificato la mia richiesta URL
  • tornato a tre vecchie versioni di Jquery
  • manualmente eseguito il ping il mio URL da IE9 (in grado di ottenere una risposta)

Qualche idea ??

+0

è una richiesta di dominio incrociato? –

+0

Lo fa quando usa l'ultima versione di jQuery 1.8.2? – Nope

+1

Premi F12 in IE, quindi vai alla scheda Rete. Carica la pagina e vedi cosa sta facendo la richiesta. – Gromer

risposta

26

sguardo di come il suo un problema con

console.log()

IE non ha oggetto console quando Strumenti per sviluppatori non è aperta .. Provare a eseguire il codice commentando il tuo console.log e provare di nuovo ..

$(document).ready(function() { 

    var loginUrl = "http://omittedurl.com"; 
    //console.log(loginUrl); 
    $.ajax({ 
     type: "GET", 
     url: loginUrl, 
     dataType: "json", 
     success: function (response) { 
      // console.log("RESPONSE: " + response); 
      alert("RESPONSE: " + response) 
     } 
    }); 
}); 

Se si desidera utilizzare la console, è necessario definire che prima se dello strumento sviluppatore non è aperto ..

if (typeof console === "undefined" || typeof console.log === "undefined") { 
    console = {}; 
+0

Non ho visto il file 'console.log', questo causerà problemi in IE. Buona pesca! – Gromer

+2

@Gromer dare un'occhiata: http://paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/ – moonwave99

+0

@ moonwave99, sì, ho usato un paio di wrapper prima. Sfortunatamente, non sto facendo molto javascript al mio attuale concerto, quindi console.log non mi fa troppo male. Sto segnalando questo link. – Gromer

Problemi correlati