Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 16
  1. #1
    marco.fischer ist offline Jungspund
    registriert
    16-05-2012
    Beiträge
    13

    [XML] XMLHttpRequest mit JavaScript

    Hallo liebes Forum,

    Ihr habt mir schon mal geholfen und nun habe ich erneut ein Problem.

    Zielbeschreibung:
    Ich erarbeite zu unserem CMS System ein Basismodul zur dynamischen Anzeige von Geodaten mit GoogleMaps usw.
    Dazu werden interne Webservices angesprochen die einerseits die entsprechenden Daten liefern und andererseits zu den Adressdaten die Geodaten für die weitere Verwendung liefern.

    Nun komme ich nicht aus der 'JavaScript' Welt sondern schreibe i.d.R. immer den Background Code unserer Anwendungen.
    Ich tu mich also schwer, zumal meine Schnittstellen auf XML basieren und ich an dieser Stelle serverseitigen und clientseitigen Code mischen muss (was ansich schon Mist ist).
    Google will es so, dann machen wir das also.

    OK, ich habe in den letzten Tagen verschiedene Möglichkeiten der Anbindung durchgespielt und bin mit keiner zum Erfolg gekommen.
    SOAP wäre natürlich am einfachsten, denn die Webservices liefern genau das .. ich bin einfach zu blöd JavaScript entsprechend zu schreiben.

    Da ich mit SOAP gescheitert bin versuche ich nun die Anbindung per XML.

    Dazu habe ich folgenden Code:

    Code:
    <script language="javascript" type="text/javascript">
    
    var map;
    var req;
    
    function MapInitialize() {
    var myOptions = {
    zoom: 12,
    center: new google.maps.LatLng(51.18, 11.24),
    mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    
    map = new google.maps.Map(document.getElementById('LxGoogleMap'), myOptions);
    
    if (typeof XMLHttpRequest !== 'undefined') {
    req = new XMLHttpRequest();
    }
    else if (typeof ActiveXObject !== 'undefined') {
    req = new ActiveXObject('Msxml2.XMLHTTP.3.0');
    }
    
    /* 
    /* #############
    /* req.open sollte über http Aufruf die Datenquelle einlesen ein entsprechendes Beispiel haben wir veröffentlicht
    /* http://www.kreis-soem.de/publish/data/lxxml.xml
    /* #############
    */
    
    req.open('GET', 'http://www.kreis-soem.de/publish/data/lxxml.xml', true);
    req.onreadystatechange = function() {
    if (req.readyState === 4) {
    var doc = req.responseXML;
    var entries = doc.getElementsByTagName('LxGoogleMapsObject');
    for (var i = 0, l = entries.length; i < l; i++) {
    var entry = entries[i];
    var myLatLng = new google.maps.LatLng(entry.getElementsByTagName('Latitude')[0], entry.getElementsByTagName('Longitude')[0]);
    var marker = new google.maps.Marker({
    position: myLatLng,
    map: map,
    title: entry.getElementsByTagName('IdentString')[0],
    zIndex: i
    });
    }
    }};
    req.send(null);
    }
    
    </script>
    Ausgabe der Map erfolgt fehlerfrei (was die Arbeit nicht zwangsläufig vereinafcht).
    Was mache ich falsch?
    Weshalb werden die Daten nicht und ohne Fehlerausgabe verarbeitet?

  2. #2
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: [XML] XMLHttpRequest mit JavaScript

    Zitat Zitat von marco.fischer Beitrag anzeigen
    Weshalb werden die Daten nicht und ohne Fehlerausgabe verarbeitet?
    Du weißt wo du die Fehlermeldungen von JS findest?

  3. #3
    marco.fischer ist offline Jungspund
    registriert
    16-05-2012
    Beiträge
    13

    AW: [XML] XMLHttpRequest mit JavaScript

    Nein, sags mir bitte .. dann wäre mir schon sehr geholfen .. ich suche mir den Wolf ..
    Aber, ich generiere die Scripts zur Laufzeit ..

    Beispiel:

    Code:
    Private Sub InitializeMapsMap()
    
                LxScript.Text += "var map;" & vbCrLf
                LxScript.Text += "var req;" & vbCrLf
    
                ' // * Function MapInitialize()
                LxScript.Text += "function MapInitialize() {" & vbCrLf
    
                ' / * Kartenbasisoptionen festlegen
                LxScript.Text += "var myOptions = {" & vbCrLf
                LxScript.Text += "zoom: 12," & vbCrLf
                LxScript.Text += "center: new google.maps.LatLng(51.18, 11.24)," & vbCrLf
                LxScript.Text += "mapTypeId: google.maps.MapTypeId.ROADMAP" & vbCrLf
                LxScript.Text += "}" & vbCrLf
                ' / * Kartenbasisoptionen festlegen ENDE
    
                ' / * Map definieren
                LxScript.Text += "map = new google.maps.Map(document.getElementById('LxGoogleMap'), myOptions);" & vbCrLf
    
                ' / * XMLHttpRequest einleiten
                LxScript.Text += "if (typeof XMLHttpRequest !== 'undefined') {" & vbCrLf
                LxScript.Text += "req = new XMLHttpRequest();" & vbCrLf
                LxScript.Text += "}" & vbCrLf
    
                LxScript.Text += "else if (typeof ActiveXObject !== 'undefined') {" & vbCrLf
                LxScript.Text += "req = new ActiveXObject('Msxml2.XMLHTTP.3.0');" & vbCrLf
                LxScript.Text += "}" & vbCrLf
    
                ' / * einlesen der XML Datenquelle vom Standardpfad
                LxScript.Text += "req.open('GET', '/Data/lxxml.xml', true);" & vbCrLf
                ' /* open onreadystatechange
                LxScript.Text += "req.onreadystatechange = function() {" & vbCrLf
                ' /* Prüfung readyState
                LxScript.Text += "if (req.readyState === 4) {" & vbCrLf
                LxScript.Text += "var doc = req.responseXML;" & vbCrLf
                LxScript.Text += "var entries = doc.getElementsByTagName('LxGoogleMapsObject');" & vbCrLf
    
                ' / * Schleife über Einträge in XML Datei
                LxScript.Text += "for (var i = 0, l = entries.length; i < l; i++) {" & vbCrLf
                LxScript.Text += "var entry = entries[i];" & vbCrLf
                ' / * Lat Informationen aus Datenquelle zuweisen
                LxScript.Text += "var myLatLng = new google.maps.LatLng(entry.getElementsByTagName('Latitude')[0], entry.getElementsByTagName('Longitude')[0]);" & vbCrLf
                ' / *  Marker definieren
                LxScript.Text += "var marker = new google.maps.Marker({" & vbCrLf
                LxScript.Text += "position: myLatLng," & vbCrLf
                LxScript.Text += "map: map," & vbCrLf
                LxScript.Text += "title: entry.getElementsByTagName('IdentString')[0]," & vbCrLf
                LxScript.Text += "zIndex: i" & vbCrLf
                LxScript.Text += "});" & vbCrLf
                ' / * Marker Ende
    
                ' / * For Schleife schließen
                LxScript.Text += "}" & vbCrLf
    
                ' /* Prüfung readyState ENDE
                LxScript.Text += "}"
                ' /* open onreadystatechange ENDE
                LxScript.Text += "};"
                LxScript.Text += "req.send(null);"
    
                'LxScript.Text += "SetMarkers(map, locations);" & vbCrLf
                'LxScript.Text += "var mcOptions = {gridSize: 50, maxZoom: 15};"
                'LxScript.Text += "mc = new MarkerClusterer(map, [], mcOptions);"
    
                ' // * Function Ende MapInitialize()
                LxScript.Text += "}" & vbCrLf
    
    
            End Sub
    Da muss ich schon aufpassen keine Klammern zu vergessen ... mein einziger aktueller Hinweis wenn waqs nicht funktioniert ist eine Nichtausführung der map Variable.

  4. #4
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

  5. #5
    marco.fischer ist offline Jungspund
    registriert
    16-05-2012
    Beiträge
    13

    AW: [XML] XMLHttpRequest mit JavaScript

    Dank Dir ...


    doc is null (var entries = doc.getElementsByTagName('LxGoogleMapsObject')

    Das ist doch schon mal was ...

  6. #6
    marco.fischer ist offline Jungspund
    registriert
    16-05-2012
    Beiträge
    13

    AW: [XML] XMLHttpRequest mit JavaScript

    Hallo 'ein Schlauer',


    nun habe ich zumindest endlichen einen Fehler.
    Aber wieso wird die XML Datenquelle nicht eingelesen?

    Letzlich sagt mir der Fehler folgendes:

    Zeitstempel: 25.06.2012 12:09:09
    Fehler: doc is null
    Quelldatei: http://localhost/LIBx.AxCMSWeb/lx112...and=1703094234
    Zeile: 32
    Zeile 32:

    Code:
    var entries = doc.getElementsByTagName('LxGoogleMapsObjects');
    Die Childelemente von 'LxGoogleMapsObjects' werden nicht gelesen.

    <LxGoogleMapsObjects><LxGoogleMapsObject LxID="LxID_689"><IdentString>LxID_689</IdentString><Latitude>50.1729075</Latitude><Longitude>7.0834625</Longitude><InfoString/></LxGoogleMapsObject><LxGoogleMapsObject LxID="LxID_1122"><IdentString>LxID_1122</IdentString><Latitude>47.3291593</Latitude><Longitude>8.7472213</Longitude><InfoString/></LxGoogleMapsObject><LxGoogleMapsObject LxID="LxID_834"><IdentString>LxID_834</IdentString><Latitude>51.0361770</Latitude><Longitude>10.8887480</Longitude><InfoString/></LxGoogleMapsObject></LxGoogleMapsObjects>
    Hmm, bin ich genau so schlau wie vorher ...

    Hat jemand einen Lösungsansatz?!

  7. #7
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.667

    AW: [XML] XMLHttpRequest mit JavaScript

    dein xml ist invalid oder du nutzt den IE lokal, oder irgendwas anderes

  8. #8
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: [XML] XMLHttpRequest mit JavaScript

    Oder die SOP, kommen die Daten auch von localhost?
    Was sagt denn die Fehlerkonsole vom Firefox?

  9. #9
    marco.fischer ist offline Jungspund
    registriert
    16-05-2012
    Beiträge
    13

    AW: [XML] XMLHttpRequest mit JavaScript

    Die Test XML für die Entwicklung liegt nicht am localhost.
    Diese Fehlerquelle wollte ich gleich vermeiden.

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <LxGoogleMapsObjects>
    	<LxGoogleMapsObject LxID="LxID_689">
    		<IdentString>LxID_689</IdentString>
    		<Latitude>50.1729075</Latitude>
    		<Longitude>7.0834625</Longitude>
    		<InfoString></InfoString>
    	</LxGoogleMapsObject>
    	<LxGoogleMapsObject LxID="LxID_1122">
    		<IdentString>LxID_1122</IdentString>
    		<Latitude>47.3291593</Latitude>
    		<Longitude>8.7472213</Longitude>
    		<InfoString></InfoString>
    	</LxGoogleMapsObject>
    	<LxGoogleMapsObject LxID="LxID_834">
    		<IdentString>LxID_834</IdentString>
    		<Latitude>51.0361770</Latitude>
    		<Longitude>10.8887480</Longitude>
    		<InfoString></InfoString>
    	</LxGoogleMapsObject>
    </LxGoogleMapsObjects>
    Der Aufbau scheint korrekt.
    Zugriff (sicherheitstechnisch) auf den öffentlichen Pfad ist möglich:
    http://www.kreis-soem.de/publish/data/lxxml.xml

  10. #10
    marco.fischer ist offline Jungspund
    registriert
    16-05-2012
    Beiträge
    13

    AW: [XML] XMLHttpRequest mit JavaScript

    Die Fehlerconsole gibt folgendes aus:

    Code:
    Zeitstempel: 25.06.2012 13:54:20
    Fehler: doc is null
    Quelldatei: http://localhost/LIBx.AxCMSWeb/lx11214.libx?AxPageID=912&Mode=0&ActiveID=1121&ControlCenter=1&rand=1378241705
    Zeile: 32
    Zeile 32 ist hier:

    Code:
    ...
    
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head id="LxHeader"><link rel="Stylesheet" type="text/css" media="all" href="http://localhost/LIBx.AxCMSWeb/templates/CSS/Themes/Default/Base.css" /><link rel="Stylesheet" type="text/css" media="all" href="http://localhost/LIBx.AxCMSWeb/templates/CSS/Themes/Default/Content.css" /><link rel="Stylesheet" type="text/css" media="all" href="http://localhost/LIBx.AxCMSWeb/templates/CSS/Themes/Default/Controls.css" /><link rel="Stylesheet" type="text/css" media="all" href="http://localhost/LIBx.AxCMSWeb/templates/CSS/Themes/Default/CustomElements.css" /><meta name="AUTHOR" content="Marco Fischer" /><meta name="EXPIRES" content="0" /><meta name="ROBOTS" content="ALL" /><meta name="CONTENT-TYPE" content="text/html; charset=ISO-8859-1" />
    <script language="javascript" type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
    <script language="javascript" type="text/javascript" src="http://localhost/LIBx.AxCMSWeb/templates/Scripts/LxMarkerclusterer.js"></script>
    <script language="javascript" type="text/javascript">
    var map;
    function MapInitialize() {
    var myOptions = {
    zoom: 12,
    center: new google.maps.LatLng(51.18, 11.24),
    mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById('LxGoogleMap'), myOptions);
    var req;
    if (typeof XMLHttpRequest !== 'undefined') {
    req = new XMLHttpRequest();
    }
    else if (typeof ActiveXObject !== 'undefined') {
    req = new ActiveXObject('Microsoft.XMLHTTP');
    }
    req.open('GET', 'http://www.kreis-soem.de/publish/data/lxxml.xml', true);
    req.onreadystatechange = function() {
    if (req.readyState === 4) {
    var doc = req.responseXML;
    var entries = doc.getElementsByTagName('LxGoogleMapsObjects');
    for (var i = 0, l = entries.length; i < l; i++) {
    var entry = entries[i];
    var myLatLng = new google.maps.LatLng(entry.getElementsByTagName('Latitude')[0], entry.getElementsByTagName('Longitude')[0]);
    var marker = new google.maps.Marker({
    position: myLatLng,
    map: map,
    title: entry.getElementsByTagName('IdentString')[0],
    zIndex: i
    });
    }
    }};req.send(null);}
    </script><title>
    	das ist ein rtets
    </title></head>  
    <body style="
    ...
    Das macht einen doch irre ....

    XML Datei, welche als Datenquelle dient:

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <LxGoogleMapsObjects>
    	<LxGoogleMapsObject LxID="LxID_689">
    		<IdentString>LxID_689</IdentString>
    		<Latitude>50.1729075</Latitude>
    		<Longitude>7.0834625</Longitude>
    		<InfoString></InfoString>
    	</LxGoogleMapsObject>
    	<LxGoogleMapsObject LxID="LxID_1122">
    		<IdentString>LxID_1122</IdentString>
    		<Latitude>47.3291593</Latitude>
    		<Longitude>8.7472213</Longitude>
    		<InfoString></InfoString>
    	</LxGoogleMapsObject>
    	<LxGoogleMapsObject LxID="LxID_834">
    		<IdentString>LxID_834</IdentString>
    		<Latitude>51.0361770</Latitude>
    		<Longitude>10.8887480</Longitude>
    		<InfoString></InfoString>
    	</LxGoogleMapsObject>
    </LxGoogleMapsObjects>

  11. #11
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.667

    AW: [XML] XMLHttpRequest mit JavaScript

    Zitat Zitat von marco.fischer Beitrag anzeigen
    Code:
    Quelldatei: http://localhost/LIBx.AxCMSWeb/lx11214.libx?AxPageID=912&Mode=0&ActiveID=1121&ControlCenter=1&rand=1378241705
    Code:
    req.open('GET', 'http://www.kreis-soem.de/publish/data/lxxml.xml', true);
    sop

  12. #12
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.864

    AW: [XML] XMLHttpRequest mit JavaScript

    Zitat Zitat von marco.fischer Beitrag anzeigen
    Code:
    &rand=1378241705
    Gegen Caching gibt es auch bessere Maßnahmen

  13. #13
    marco.fischer ist offline Jungspund
    registriert
    16-05-2012
    Beiträge
    13

    AW: [XML] XMLHttpRequest mit JavaScript

    Scheiße, das war´s ... [sop]
    Dank Dir ...

  14. #14
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.760

    AW: [XML] XMLHttpRequest mit JavaScript

    @mikdoe: welche, wenn man GET verwenden will?

  15. #15
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.864

    AW: [XML] XMLHttpRequest mit JavaScript

    Zitat Zitat von kkapsner Beitrag anzeigen
    @mikdoe: welche, wenn man GET verwenden will?
    Ich bin ja jetzt auf den jQuery Trip
    Das hat einen cache Parameter.
    Falle ich zwar immer noch manchmal drüber aber funktioniert.

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Javascript + Rest = XMLHTTPRequest?
    Von Mr.Baranej im Forum JavaScript
    Antworten: 7
    Letzter Beitrag: 08-01-2011, 12:35
  2. JavaScript nach XMLHttpRequest ausführen
    Von Lyon im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 04-02-2010, 00:34
  3. XMLHttpRequest im IE
    Von thommy.s im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 21-10-2009, 16:21
  4. Javascript per XMLHttpRequest laden und ausführen
    Von jhuedder im Forum JavaScript
    Antworten: 5
    Letzter Beitrag: 17-07-2008, 15:30
  5. XMLHttpRequest
    Von chris_42 im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 22-08-2005, 14:48

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •