Zaziemetro: URL in Ajax Request dynamisch beziehen

Hallo,
ich komme irgendwie nicht weiter.
Ich habe einen ajax request unter jquery der für sich genommen mit einer festen xml-Datei auch funktioniert.

$(document).ready(function()  
{  
$.ajax({  
                 type: "GET",  
                 url: "mapXML5.xml",  
                 dataType: "xml",  
                 success: handleSuccess,  
                 error: handleError  
         });  
  
         function handleSuccess(xml)  
         { usw. ....

Nun möchte ich aber die xml-Datei per Selectbox wechseln können, also z.B. bei der Select-Option "Irgendeinwort" soll die "mapXML5.xml" geladen und geparst werden und bei der Option "Einandereswort" soll der request für  "mapXML9.xml" durchgeführt werden. Wie kriege ich das hin? Der Versuch, die url als var zu übergeben, funktioniert auch nicht (z.B. so:

  
$("#list2").change(function(event)  
         {  
                 $("#list2 option:selected").each(function()  
                 {  
                         selectedThema = $(this).text();  
                 });  
                 if(selectedThema == "Irgendeinwort")  
                 {  
                         var xmldatei = $.get("mapXML5.xml");  
                 }  
                 else if(selectedThema == "Einandereswort")  
                 {  
                         var xmldatei = $.get("mapXML9.xml");  
                 };  
  
          });  
  
         var url = xmltest;  
  
         //send request for XML  
         $.ajax({  
                 type: "GET",  
                 url: url,  
                 dataType: "xml",  
                 success: handleSuccess,  
                 error: handleError  
         });

Hat jemand eine Idee?

Danke
Zaziemetro

  1. Rein syntaktisch müsste es doch funktionieren. Was ist xmltest? Steht da auch das richtige drin?

    1. Rein syntaktisch müsste es doch funktionieren. Was ist xmltest? Steht da auch das richtige drin?

      Leider funktioniert es nicht. Bei alert bekomme ich für xmltest den richtigen Text, aber die Fehlerkonsole sagt mir, "nicht definiert".
      Das Problem könnte sein, dass ich
      a) hier nur die erste Stufe einer vierstufigen Selectbox auswerten will??,
      b) der Request der Beginn einer sehr komplexen Seite ist, die mit verschiedenen javascript-librarys arbeitet und dementspechend viele js-scripte lädt, die sich offensichtlich nicht immer grün sind??
      c) dass die Event-Handler hier nicht funktionieren, denn der ajax-request erfolgt immer sofort, egal ob und welchen Eventhandler ich irgendwo nutze.

      Der Fehler liegt wohl irgendwo anders.

      Zaziemetro

      1. »aber die Fehlerkonsole sagt mir, "nicht definiert".
        Siehe die Antwort von fastix.

        Warum machst du überhaupt var url = xmltest? Nimm doch die Variable direkt.

        Das Problem könnte sein, dass ich
        a) hier nur die erste Stufe einer vierstufigen Selectbox auswerten will??,

        nein warum denn das? Wenn die Variable nicht definiert ist (was du auch nirgends tust), scheint ja das der Anfang der Suche zu sein. Schreib halt mal direkt was in die Variable rein und schau obs dann geht.

        b) der Request der Beginn einer sehr komplexen Seite ist, die mit verschiedenen javascript-librarys arbeitet und dementspechend viele js-scripte lädt, die sich offensichtlich nicht immer grün sind??

        Warum sollte das was rauskommen soll ein Grund dafür sein dass der Request an sich nicht geht?

        c) dass die Event-Handler hier nicht funktionieren, denn der ajax-request erfolgt immer sofort, egal ob und welchen Eventhandler ich irgendwo nutze.

        Was erfolgt da? Woran siehst du dass es erfolgt, ich dachte es geht nicht?

  2. Moin!

    var xmldatei ...
      ...
      var xmldatei ...
      ...
      var url = xmltest;

    Hat jemand eine Idee?

    Was fällt Dir auf?

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix