Ankündigung

Einklappen
Keine Ankündigung bisher.

XML Webservice mit jQuery auslesen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • XML Webservice mit jQuery auslesen

    Hallo Community,

    Ich versuche die KFZ-Referenztabellen aus der mobile.de API auszulesen. Ich verwende jQuery und AJAX. Das Problem ist, dass "error" aufgerufen wird.

    Ich würde mich über Anregungen freuen.

    Hier mein Code:

    Code:
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8"/>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    </head>
    
    <body>
    <div class="main">
    	Automarken:
    </div>
    </body>
    </html>
    
    <script type="text/javascript">
    $(document).ready(function () {
            $.ajax({
            type: "GET",
            url: "http://services.mobile.de/1.0.0/refdata/sites/GERMANY/classes/Car/makes/",
            dataType: "xml",
            success: function(xml) {
                    xmlParser(xml);
                },
    		error: function() {
    				alert("The XML File could not be processed correctly.");
    			}
        });
    
    });
    
    function xmlParser(xml) {
        $(xml).find("reference:item").each(function () {
            $(".main").append(
                $(this).find("resource:local-description").text()
            );
        });
         
    }
    </script>

  • #2
    http://stackoverflow.com/questions/3...x-cross-domain
    http://en.m.wikipedia.org/wiki/Same_origin_policy

    Kommentar


    • #3
      Moin.

      Du kannst, wie die Links von rkr deutlich beschreiben, keinen AJAX Request von einer Domain an die andere schicken, bzw. kannst du schon, jedoch wird nie die Antwort bei dir ankommen.

      Heißt, du brauchst bei dir ein PHP Script was du mit deinem AJAX ansprechen kannst und welches dann den Request an die mobile.de API schickt. Im PHP kannst du CURL nutzen oder es über Sockets machen.
      Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
      [URL]http://www.lit-web.de[/URL]

      Kommentar


      • #4
        Vielen Dank für die Antworten!

        Die Lösung mit PHP cURL kann ich ausprobieren.

        Im Link von rkr bin ich auf folgenden Code gestoßen:
        http://james.padolsey.com/javascript...s-with-jquery/

        Also habe ich die jquery.xdomainajax.js eingebunden. Ich bekomme nun keinen "error" mehr aber auch keine Automarken, also alles leer.

        Code:
        <!DOCTYPE html>
        <html>
        <head>
        <meta charset="utf-8"/>
        <script src="jquery.min.js"></script>
        <script src="jquery.xdomainajax.js"></script>
        </head>
        
        <body>
        <div class="main">
        	Automarken:
        </div>
        </body>
        </html>
        
        <script type="text/javascript">
        $.ajax({
            url: "http://services.mobile.de/1.0.0/refdata/sites/GERMANY/classes/Car/makes/",
            type: "GET",
        	dataType: "xml",
            success: function(xml) {
        		xmlParser(xml);
        	},
        	error: function() {
        		alert("The XML File could not be processed correctly.");
        	}
        });
        
        function xmlParser(xml) {
            $(xml).find("reference:item").each(function () {
                $(".main").append(
                    $(this).find("resource:local-description").text()
                );
            });
             
        }
        </script>

        Kommentar


        • #5
          Ich kenn das Plugin nicht. Ich kann mir aber vorstellen das da im Hintergrund auf JSONP http://en.wikipedia.org/wiki/JSONP gesetzt wird wird. Das hat den Nachteil das nur auf GET arbeiten kannst.
          Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
          [URL]http://www.lit-web.de[/URL]

          Kommentar


          • #6
            Bist du sicher, das auch serverseitig sog. XDomainRequests unterstützt werden?
            Mein Tipp: Lass das Gefummele mit Javascript und mach es komplett mit PHP.
            Für die ersten Schritte reicht auch ein file_get_contents($url), um die XML komplett zu holen.
            Per CURL wie schon empfohlen ist auch nicht so wahnsinnig schwer.

            Kommentar

            Lädt...
            X