• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

JSON ist undefined.

Hallo,

ich habe ein Problem. Nur bei IE, sagt er mir, dass JSON undefined ist. Also ist ein Fehler im Javaskript-Code. Doch ich finde nichts, wo ein Fehler sein sollte. Bin aber auch Anfänger in Sachen AJAX.

Ist irgendwo hier ein Fehler?

PHP:
<script type="text/javascript">
var XMLHTTP = null;
if( window.XMLHttpRequest ){
  XMLHTTP = new XMLHttpRequest();
}else if( window.ActiveXObject ){
  try{ XMLHTTP = new ActiveXObject( "Msxml2.XMLHTTP" );
  }catch( ex ){
    try{ XMLHTTP = new ActiveXObject( "Microsoft.XMLHTTP" );
    }catch( ex ){
    }
  }
}

if( window.location.hash ){
  var check = window.location.hash.indexOf( "?p=" );
  if( check == 1 ){
    window.location.href = window.location.hash.replace("#", "");
  }
}

// Auf ajax.php wird "page" von pages/... .php genommen.
function open_Page( page ){
   document.getElementById("load").style.display = '';
   window.location.hash = "?p="+page;
   XMLHTTP.open( "GET", "ajax.php?p="+page, true );
   XMLHTTP.onreadystatechange = row_Page;
   XMLHTTP.send( null );
   return false;
}
 
function row_Page( ){
  if( XMLHTTP.readyState == 4 ){
  var row = XMLHTTP.responseText;
    document.getElementById("load").style.display = 'none';
    document.getElementById("ajax").innerHTML = row;
  }
}

// Title ändern in "test (1)" und alle 5 Sekunden aktuallisieren.
var interval = setInterval( function(){
 if (XMLHTTP.readyState === 0 || XMLHTTP.readyState === 4) {
   XMLHTTP.open("GET","ajax.php?t",true);
   XMLHTTP.onreadystatechange = function() {
     if (XMLHTTP.readyState == 4) {
      document.title = XMLHTTP.responseText;
     }
   };
   XMLHTTP.send(null);
 } 
}, 5000);

</script>
<?php
echo"<html><head>";
echo'<title>Test</title>';
echo"</head><body>";  
  echo' <div id="load" style="display: none;">Lade...</div> ';
    
  echo' <div id="ajax"> ';
    $get = $_GET['p'];
    if( $get ) include("pages/$get.php");
    else include("pages/home.php");
  echo' </div> ';
echo "</body></html>"
?>
Außerdem ist es bei IE so, dass man, sobald sich die z.B. "pages/contact.php" geändert hat, dass man erst die Cookies etc. löschen muss, damit die Seite richtig in einer neuen Version dargestellt wird. Warum? Was kann man dagegen machen?

Gibt es noch Verbesserungsvorschläge?
 
Zuletzt bearbeitet:
Werbung:
Ich seh' in dem Code keine Variabel JSON. In welcher Zeile tritt der Fehler auf?
 
Schau mal auf "LINK WURDE ENTFERNT".. Irgendwie komme ich auch nicht klar.

Bitte zitiert nicht diesen Beitrag, da ich den Link bald wieder rauslöschen will, damit der nicht bei google oder sonstiges steht. Oder holt den Link raus. Danke.
 
Zuletzt bearbeitet:
Werbung:
Bei mir sagt der, "Json ist undefined" in Zeile 416. Obwohl ich nichtmal soviele Zeilen hab. Was kann ich machen, damit bei IE immer die neuste Seite erscheint und nicht die alte. Derzeit muss man immer Browser-Cookies (Verlauf) etc. leeren, damit er die Seite aktualliesiert. Zumindest die neuste anzeigt.
 
Wie gesagt, in meinem IE läuft die Seite ohne irgendwelche Beanstandungen.
schon den cache geleert?
 
Werbung:
Vielleicht wäre es nützlich, wenn du uns sagst, welche Version des IE du verwendest.
 
Werbung:
Das ist absolut unerklärlich.

Woher kommt diese Meldung? Das die Zeilenummer nicht stimmt, ist im IE nichts besonderes, aber da in dem Beispiel gar keine externe Datei oder sowas eingebunden ist. Es gibt nirgends eine Variabel JSON oder Json (Das sind zwei unterschiedliche Dinge, JS unterscheidet zwischen Groß und Kleinbuchstaben), daher kann diese Meldung nicht von der Seite stammen die du uns gezeigt hattest. Es wäre hilfreich die Seite zu sehen, die den genannten Fehler erzeugt.
 
Hallo,

dass war die Seite die ich dir gegeben hatte. Du hast aber recht. Auf meiner Arbeit habe ich es auch getestet und tatsächlich erscheint die Fehlermeldung dort auch nicht. Ich weiß nicht warum er das hier auf dem Laptop macht.

Wie du schon selber sagst, Cache etc. habe ich auch geleert. Das ist echt komisch.
 
Werbung:
Zurück
Oben