XMLHttpRequest in Firefox

Status
Niet open voor verdere reacties.

sylvievdb

Nieuwe gebruiker
Lid geworden
6 nov 2008
Berichten
3
Hallo,

Ik wil met javascript verschillende XML-bestanden aanspreken. Wanneer ik één bestand aanspreek is er geen enkel probleem. Bij het aanspreken van meerdere bestanden in dezelfde pagina krijg ik een foutmelding op de code-lijn:
Code:
objXml = new XMLHttpRequest();

Het werkt allemaal perfect in Google Chrome maar niet in Firefox (ook niet in IE maar ik hoop stilletjes dat het hetzelfde probleem is). Ik krijg volgende foutmelding in mijn Foutconsole:
Fout: uncaught exception: [Exception... "Unexpected error" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: http://users.telenet.be/sylvievdb/volley/home.htm :: loadXml :: line 15" data: no]

Kan er iemand helpen? Als je meer info wilt, vraag maar.

Greetz
Sylvie
 
Bij het aanspreken van meerdere bestanden in dezelfde pagina krijg ik een foutmelding op de code-lijn:

uhm...

Probeer deze eens?
PHP:
//javascripts

<script type="text/javascript">

function Async(){ 
   var objXml = false; 

    if(navigator.appName == "Microsoft Internet Explorer") { 
        objXml = new ActiveXObject("Microsoft.XMLHTTP"); 
    }else{ 
        objXml = new XMLHttpRequest(); 
    }  
   this.newObj = objXml; 
} 

function RequestAFile(filename,asyncobj){
   asyncobj.open("GET", filename, true); 
   asyncobj.onreadystatechange=function() { 
      if(asyncobj.readyState == 4) { 
         alert('de contents van deze file zijn: ' + asyncobj.responseText); 
      } 
   } 
   asyncobj.send(null);  
}




//dan, roep je het zo aan: 
var file1xml = new Async(); 
var file2xml = new Async(); 

//als je het nodig hebt gebruik je bijvoorbeeld: 
RequestAFile('1.txt',file2xml.newObj);
RequestAFile('2.txt',file1xml.newObj);

</script>

eventjes uit het hooft, maar zou moeten werken! Ohja, en wss/mischien kan het korter, maar hey, het werkt :p


:thumb:

[edit] hier draait een kopie: www.vegras-studios.com/x/helpmij/ajax1/test.html en werkt 100% in firefox/ie.[/edit]
 
Laatst bewerkt:
Bedankt, heb nu alleen nog enkele problemen met het werken met de tekst maar het zal wel lukken.

Greetz
Sylvie
 
je zou altijd de contents kunnen laten returnen:
PHP:
//javascripts
      if(asyncobj.readyState == 4) {  
         return asyncobj.responseText;  
      }

en dan zoiets:
PHP:
//js

var file1xml = new Async(); 
document.foo.innerHTML = RequestAFile('2.txt',file1xml.newObj);
oid.


succes!
:thumb:
 
wooh, wacht even. navigater.appName is niet zo net :eek:

Code:
    if([COLOR="Red"]navigator.appName[/COLOR] == "Microsoft Internet Explorer") { 
        objXml = new ActiveXObject("Microsoft.XMLHTTP"); 
    }else{ 
        objXml = new XMLHttpRequest(); 
    }

Kan beter zo:
Code:
    try
  {
    // Firefox, Opera 8.0+, Safari
   objXml = new XMLHttpRequest();
  }
  catch (e)
  {
    // Internet Explorer
    try
    {
      objXml = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
      try
      {
        objXml = new ActiveXObject("Microsoft.XMLHTTP");
      }
        catch (e)
      {
        alert("Your browser does not support AJAX!");
        return false;
      }
    }
  }
 
hehe, ik dacht al, iemand haat hierover reageren :p
Maar, je hebt helemaal gelijk.

:thumb:
 
Bedankt allebei. Alles werkt nu.

Site is totaal niet flitsend maar alles wat erop moet staan, staat erop. En ik heb mijn javascript-kennis goed kunnen bijschaven. Nu alleen nog een mooie header proberen ineen te steken. Niemand interesse om eentje te maken voor een arm volleybalclubje...

Greetz
Sylvie
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan