Frage

Ich versuche, Daten aus einer JSON auf einer externen Seite zu greifen, aber die Seite nicht JSON-P-Ausgang unterstützt. Dies ist ein Beispiel für nicht-funktionierenden Code, sondern gibt eine gute Vorstellung davon, was ich versuche zu erreichen:

$.getJSON("http://www.bom.gov.au/fwo/IDV60901/IDV60901.94868.json", function(data){
    //Process data here
});

Gibt es Möglichkeiten, um diese andere als lokal die Daten-Hosting oder das Herunterladen und die Verarbeitung mit einem AJAX / PHP Aufruf? Ich würde lieber nicht haben den Server dienen oder die Daten herunterladen und haben eher den Browser des Benutzers direkt greifen.

Vielen Dank im Voraus!

War es hilfreich?

Lösung

Die Same Origin Policy von den meisten Browsern würden Sie dies nicht tun lassen, ohne bereit extern Server oder ein Proxy-Server-Seite. Es gibt ein paar Hacks Sie mit Flash ausprobieren können:

http://flxhr.flensed.com/

Dies setzt voraus, Ihre Benutzer hat Flash installiert ist, aber in der Regel, wenn sie Javascript installiert haben, sie auch Flash haben ...

oder

Wenn die Daten, die Sie suchen als Futter irgendwo kam, konnte man es durch Yahoo Pipes , und sie werden für Sie zurück JSONP.

Viel Glück!

Andere Tipps

einfachste Möglichkeit wäre, den json Anruf über einen PHP-Proxy-Skript ausgeführt werden soll, wie diese:

<?php
// PHP Proxy
// Loads a file from any location.
// Author:Paulo Fierro
// January 29, 2006
// usage: proxy.php?url=http://mysite.com/myxml.xml

$session = curl_init($_GET['url']);                    
curl_setopt($session, CURLOPT_HEADER, false);          
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);   
$xml = curl_exec($session);                            
echo $xml;        
curl_close($session); 

?>

und verwenden, die als Quelle für Sie ajaxCall

$.getJSON("proxy.php?url=http%3A%2F%2Fwww.bom.gov.au%2Ffwo%2FIDV60901%2FIDV60901.94868.json", function(data){
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top