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

Verbinden von 2 Ajaxdateien klappt nicht

Status
Für weitere Antworten geschlossen.

Durek

Neues Mitglied
Hallo :) aus irgendeinen Grund schaffe ich es nicht die 2 folgenden Dateien richtig zu verbinden.

datei1.js
Code:
function ajax()
{
  try
  {
    xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
  }
  catch(e)
  {
    try
    {
      xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch(e)
    {
      xmlHttp  = false;
    }
  }
  if (!xmlHttp  && typeof XMLHttpRequest != 'undefined')
  {
    xmlHttp = new XMLHttpRequest();
  }
  return(xmlHttp);
}

var Object1 = ajax()
function include(include)
{
  Object1.open('GET', include, true);
  Object1.onreadystatechange = showinclude;
  Object1.send(null);
}
function showinclude()
{
  if (Object1.readyState == 4)
  {
    document.getElementById('mapbewegung').innerHTML = Object1.responseText;
  }
}
function Cursortasten(event)
{
  if(event.keyCode == 37)
  {
    direction = "mapbewegung.php?walk=left";
  }
  if(event.keyCode == 38)
  {
    direction="mapbewegung.php?walk=up";
  }
  if(event.keyCode == 39)
  {
    direction="mapbewegung.php?walk=right";
  }
  if(event.keyCode == 40)
  {
    direction="mapbewegung.php?walk=down";
  }
  include(direction)
}

datei2.js
Code:
// aktuelle Daten laden
loadData();

// alle 0.8 Sekunden neue Daten holen
setInterval("loadData()",800);

function loadData()
{
 if (xmlHttp) {
     xmlHttp.open('GET', 'mapusers.php', true);
     xmlHttp.onreadystatechange = function () {
         if (xmlHttp.readyState == 4) {
             document.getElementById("users").innerHTML = xmlHttp.responseText;
         }
     };
     xmlHttp.send(null);
 }

die Dateien werden so normal nacheinander importiert (mit HTML) deswegen brauchte ich den Anfang von der 2. Datei nicht zu schreiben, weils auch so geht. Die Datei 1 funktioniert nur sehr schlecht, da es wirklich stockt...

Hoffe auf Hilfe und Danke schonmal.
 
den Anfang der 2.Datei brauch ich aber, um den Fehler zu finden! Wo rufst du denn ajax() auf?
edit:// außerdem verstehe ich nicht, warum du das überhaupt in 2 Dateien schrieben willst.. Die erste sieht mir nicht nach einer Standard-Lib aus..
 
nein ich will die Dateien nicht in 2 haben sondern zusammen haben. den Anfang brauche ich wie gesagt nicht und benutze ihn auch nicht aber funktioniert. nur ich habe schon oft gemerkt, dass viele Dateien von Ajax gleichzeitig in Benutzung sehr schlecht sind... bspw. 2 Dateien für 2 DIV-reloads sind katastrophal!

alle Infos, die man wissen sollte sind in den 2 Dateien. Der rest das sind nur die <div id="blabla"></div> Tags und sonst nichts.

Davon abgesehen habe ich die erste datei auch hier in dieser Area erfragt (kann nämlich echt gar nichts in Ajax) und sie funktioniert auch.
 
hm, okay, und was stockt da jetzt genau?
edit:wenn du das nachladen der php-datei meinst ist das doch kein Wunder, wenn du den Bereich jede 0,8 Sekunden neu lädst..
 
nein^^ das ist nicht das problem... das Nachladen der PHP-Datei ist in Ordnung nur halt lassen beide Ajaxdateien dann ne Weile aus...

Also drücke ich pfeiltaste rechts und dann stockt das. Das Nachladen also das multimediale, was eigentlich dauert mit den 0,8 Sekunden hatte vorher kein Stück gestockt sondern erst als ich die Zweite Ajaxdatei hinzugefügt habe (werden nur Werte in der Datenbank geändert)
 
das Problem ist, dass es hier wichtig ist... wenn der Server nicht abschmieren würde, dann würd ichs noch weniger machen. Aber ihr versteht mein Problem nicht... ich wills in eine *.js haben... 2 Ajax-Dateien vertragen sich nicht so gut (da sind die 5secs sogar nebensächlich)
 
Code:
// globale Instanz von XMLHttpRequest
var xmlHttp = false;

// XMLHttpRequest-Instanz erstellen
// ... für Internet Explorer
try {
    xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
    try {
        xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
    } catch(e) {
        xmlHttp  = false;
    }
}
// ... für Mozilla, Opera und Safari
if (!xmlHttp  && typeof XMLHttpRequest != 'unbekannt') {
    xmlHttp = new XMLHttpRequest();
}

ich bin total der Noob darin... in PHP kenn ich mich besser aus aber meinst du den obenstehenden Code?
 
wenn du davon überzeugt bist, das sich 2 "ajax-dateien" ;) nicht vertragen, wieso schriebst dann nicht einfach alles in eine?
 
weils dann ja irgendwie nicht funzt xD
Das ist ja grad mein Problem... hab ich mich echt so unverständlich ausgedrückt?^^ Naja... also einfach untereinander schreiben geht nicht.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben