Ergebnis 1 bis 15 von 16
-
25-06-2012, 12:29 #1
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>
Was mache ich falsch?
Weshalb werden die Daten nicht und ohne Fehlerausgabe verarbeitet?
-
25-06-2012, 12:41 #2
Lounge-Member
- registriert
- 18-08-2004
- Beiträge
- 14.671
-
25-06-2012, 12:49 #3
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
-
25-06-2012, 12:55 #4
Lounge-Member
- registriert
- 18-08-2004
- Beiträge
- 14.671
AW: [XML] XMLHttpRequest mit JavaScript
-
25-06-2012, 12:58 #5
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 ...
-
25-06-2012, 13:13 #6
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
Code:var entries = doc.getElementsByTagName('LxGoogleMapsObjects');
<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>
Hat jemand einen Lösungsansatz?!
-
25-06-2012, 13:44 #7
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
-
25-06-2012, 14:18 #8
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?
-
25-06-2012, 14:53 #9
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>
Zugriff (sicherheitstechnisch) auf den öffentlichen Pfad ist möglich:
http://www.kreis-soem.de/publish/data/lxxml.xml
-
25-06-2012, 14:57 #10
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
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=" ...
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>
-
25-06-2012, 15:25 #11
Foren-Gott
- registriert
- 19-05-2008
- Beiträge
- 5.667
-
25-06-2012, 15:49 #12
-
25-06-2012, 16:26 #13
Jungspund
- registriert
- 16-05-2012
- Beiträge
- 13
AW: [XML] XMLHttpRequest mit JavaScript
Scheiße, das war´s ... [sop]
Dank Dir ...
-
26-06-2012, 02:10 #14
-
26-06-2012, 06:55 #15
Ähnliche Themen
-
Javascript + Rest = XMLHTTPRequest?
Von Mr.Baranej im Forum JavaScriptAntworten: 7Letzter Beitrag: 08-01-2011, 12:35 -
JavaScript nach XMLHttpRequest ausführen
Von Lyon im Forum JavaScriptAntworten: 1Letzter Beitrag: 04-02-2010, 00:34 -
XMLHttpRequest im IE
Von thommy.s im Forum JavaScriptAntworten: 3Letzter Beitrag: 21-10-2009, 16:21 -
Javascript per XMLHttpRequest laden und ausführen
Von jhuedder im Forum JavaScriptAntworten: 5Letzter Beitrag: 17-07-2008, 15:30 -
XMLHttpRequest
Von chris_42 im Forum JavaScriptAntworten: 0Letzter Beitrag: 22-08-2005, 14:48
Lesezeichen