Hallo Eine Webseite gibt mir bei eintippen der URL im Browser einen Text im JSON-Format zurück. Ich will nun diesen Text mit einer html-(bzw.js)Datei in eine Variable einlesen. Hab schon ewig gegoogelt, ohne Ergebnis. Mit jQuery bringe ichs auch nicht zum laufen. Geht das überhaupt nur mit JS (Wegen der same origin policy)? Wie sollte das dann mit jQuery funktionieren? Hat jemand eine Idee oder vll. sogar einen Beispielcode??
Übrigens: Wenn ich die URL hier eingebe funktionierts. Irgendwie muss es ja doch gehen?! https://igm.rit.edu/~jxs/services/JSON/
Unwissender schrieb: > Mit jQuery bringe ichs auch nicht zum laufen. warum nicht? > Geht das > überhaupt nur mit JS (Wegen der same origin policy)? kommt auf die Seite an, ob sie es zulässt. > Wie sollte das dann > mit jQuery funktionieren? http://api.jquery.com/jquery.getjson/
Es funktioniert einfach nicht. Hier mein code: $.getJSON( "meine_url", function( data ) { var items = []; $.each( data, function( key, val ) { items.push( "<li id='" + key + "'>" + val + "</li>" ); }); $( "<ul/>", { "class": "my-new-list", html: items.join( "" ) }).appendTo( "body" ); }); Das ist der Text, den die URL zurückgibt: {"error":false,"errortext":"","groups":[{"kuerzel":"1A","name":"test"},{ "kuerzel":"1RS","name":"R\u00fccksetzen"},{"kuerzel":"xxxx","name":"xxxx xxxxxr"},{"kuerzel":"xxxxxxxx","name":"xxxxxxx"}]}
Edit: So sieht meine html-Datei aus <head> <title>JSON Sample</title> <script src="https://code.jquery.com/jquery-1.10.2.js"></script> </head> <body> <script> $.getJSON( "meine_url", function( data ) { var items = []; $.each( data, function( key, val ) { items.push( "<li id='" + key + "'>" + val + "</li>" ); }); $( "<ul/>", { "class": "my-new-list", html: items.join( "" ) }).appendTo( "body" ); }); </script> </body> </html>
Wie du festgestellt hast erlaubt die andere Seite keine JS Zugriffe. Da kannst du nichts machen außer dem Seitenbetreiber zu bitten dir zu gestatten darauf zugreifen zu dürfen via JS, ...
Und das hier wäre meine Test-url: http://www.poweralarm.de/api/custom/?apikey=Pac0test&action=triggergroupalarm&kuerzel=GR01&text=Achtung
D. I. schrieb: > Wie du festgestellt hast erlaubt die andere Seite keine JS Zugriffe. Da > kannst du nichts machen außer dem Seitenbetreiber zu bitten dir zu > gestatten darauf zugreifen zu dürfen via JS, ... Aber das ist ja eine ausgewiesene JSON-Schnittstelle. Außerdem hat der Zugriff mit https://igm.rit.edu/~jxs/services/JSON/ ja auch irgendwie funktioniert. Oder ist es hier mit php realisiert?
Unwissender schrieb: > Aber das ist ja eine ausgewiesene JSON-Schnittstelle. Außerdem hat der > Zugriff mit https://igm.rit.edu/~jxs/services/JSON/ ja auch irgendwie > funktioniert. Oder ist es hier mit php realisiert? kommt ja von der gleichen Domain, damit darf es das ja.
Unwissender schrieb: > Oder ist es hier mit php realisiert? Ist es. Das Ding ruft https://igm.rit.edu/~jxs/services/JSON/grab.php?uri=http%3A//www.poweralarm.de/api/custom/%3Fapikey%3DPac0test%26action%3Dtriggergroupalarm%26kuerzel%3DGR01%26text%3DAchtung auf, was wiederum im Backend das JSON abholt.
Dann starte doch mal einen JS-Debugger und schau, ob man überhaupt im Callback (oder wie das in JS heisst) landet und wenn ja, was dann in data steht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.