tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von CPoly
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
339
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Zaziemetro Zaziemetro ist offline Grünschnabel
    Registriert seit
    Jul 2011
    Beiträge
    4
    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.
    Code javascript:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    $(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. in der Box id = "list2" soll bei der Select-Option "Irgendeinwort" die "mapXML5.xml" vom ajax Request geladen und geparst werden und bei der Option "Einandereswort" in "list2" 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:
    Code javascript:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    $("#list2").change(function(event)
             {
                     $("#list2 option:selected").each(function()
                     {
                             selectedThema = $(this).text();
                     });
                     if(selectedThema == "Irgendeinwort")
                     {
                             var xmldatei = "mapXML5.xml";
                     }
                     else if(selectedThema == "Einandereswort")
                     {
                             var xmldatei = "mapXML9.xml";
                     };
              });
     
             //send request for XML
             $.ajax({
                     type: "GET",
                     url: xmldatei,
                     dataType: "xml",
                     success: handleSuccess,
                     error: handleError
             });
    Auch als function formuliert lässt sich der Inhalt von ajax 'url: " "' nicht verändern.
    Hat jemand eine Idee?

    Danke
    Zaziemetro
    Geändert von sheel (28.10.11 um 19:36 Uhr) Grund: Codetags
     

  2. #2
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Schreib bitte nächstes mal deinen Code in die entsprechenden Tags ([javascript][/javascript])

    Du deklarierst die Variable "xmldatei" innerhalb des if- und else-Blocks. Die ist außerhalb nicht vorhanden.
     

  3. #3
    Zaziemetro Zaziemetro ist offline Grünschnabel
    Registriert seit
    Jul 2011
    Beiträge
    4
    Hallo,
    die "var xmldatei" habe ich am Beginn des JS-scripts gesetzt. Das allein kann m.E. nicht das Problem sein, denn ich habe im Eventhandler für die vierte Liste in den else-if-Bereich eine var ("werte") gesetzt, die außerhalb in
    Code :
    1
    
    $("#area").text(selectedStatistic + ": " + this.getAttributeNS(null,werte.toLowerCase()));
    aufgerufen wird.

    Zazie
     

  4. #4
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Hier deklarierst du zwei Variablen, die außen definitiv nicht verfügbar sind, egal was du vorher deklariert hast.

    Code javascript:
    1
    2
    3
    4
    5
    6
    7
    8
    
    if(selectedThema == "Irgendeinwort")
    {
        var xmldatei = "mapXML5.xml";
    }
    else if(selectedThema == "Einandereswort")
    {
        var xmldatei = "mapXML9.xml";
    }

    Wenn du vorher schon irgendwo "var xmldatei" stehen hast, dann lass in dem Code die beiden "var" weg.
     

  5. #5
    Zaziemetro Zaziemetro ist offline Grünschnabel
    Registriert seit
    Jul 2011
    Beiträge
    4
    Ja, die 'vars' davor waren überflüssig. Hab ich bei "werte" auch nicht stehen.
    Nützt aber trotzdem nichts. 'xmldatei' gilt als 'undefiniert' in der Fehlerkonsole.
    "Werte" auch (bei einer statischen .xml), aber nur solange, bis ich mit 'select' einen Wert für einen 'Indikator' gewählt habe. Andererseits gibt es 'werte' auch nur in der else-if und bei z.B. alert nicht außerhalb.
    Also muss ich 'xmldatei' anders aufrufen, aber wie?
     

  6. #6
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Du führst "$.ajax" ja sofort aus. Das sollte mit in die change-Funktion oder z.B. mit einem button.
    Oder du gibst der Variable bei deklarieren auch direkt einen Wert (default Wert?), dann ist sie wenigstens nicht mehr undefined.
    Zaziemetro bedankt sich. 

  7. #7
    Zaziemetro Zaziemetro ist offline Grünschnabel
    Registriert seit
    Jul 2011
    Beiträge
    4
    Dass mit dem Sofortausführen liegt daran, dass ich ursprünglich direkt Daten aus der geparsten Datei selektiert habe, ajax stand somit am Beginn des ganzen Ablaufs. Weil meine xml aber zu groß wird (bei über 100 Indikatoren über 20 Jahre) wollte ich die kleiner machen.
    Eine alternative direkte Abfrage bekomme ich aber nur mit einer statischen php-Datei hin (als url: 'abfrage.php' mit festgelegten rows, oder als dynamische 'abfrage2.php' nach der select-box. Beides kriege ich aber nicht zusammen, weil das, was ich jeweils versucht habe zu übergeben, nie ankommt bzw. nie angenommen wird (meine Fähigkeiten in JS sind einfach viel zu schwach).
    Deshalb jetzt der Versuch mit der gesplitteten xml-Datei.

    Dein Hinweis mit der Einordnung wird genau das Problem sein. Ich werde das (morgen) versuchen.
    Vielen Dank dafür.
     

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 18.10.11, 10:22
  2. JQuery Ajax Request
    Von Delphiking1980 im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 21.06.11, 08:38
  3. JQuery- FormWizard und ajax-request
    Von rethus im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 23.02.11, 13:04
  4. jQuery |Per Ajax-Request eine Datei als Download anbieten?
    Von N0ACE im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 07.08.09, 12:46
  5. AJAX-Request an eine andere Domain
    Von Paspirgilis im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 01.05.09, 23:30

Stichworte