Bitte beachten Sie, dieses javascript:CSV-Datei als Daten in Ajax-Erfolg Empfangsfunktion
$.ajax({
url:'http://ichart.finance.yahoo.com/table.csv?s=GS&a=00&b=1&c=2010&d=08&e=3&f=2012&g=d&ignore=.csv',
type:'get',
dataType:'jsonp',
success:function(data){
alert(data);
}
})
Die URL eine CSV-Datei zurückgibt, aber ich bin unter Angabe der jsonp
Datentyp, da dies eine Cross-Domain-Ajax-Anforderung ist . Ohne diesen Parameter bekomme ich den Fehler "Ursprung ist nicht erlaubt".
Da ich den jsonp
Datentyp angeben, gibt die AJAX-Funktion einen Fehler aus, da die CSV-Datei nicht JSON-Format ist. Aber in der Dev-Konsole kann ich sehen, dass der Browser eine kohärente CSV-Datei empfängt. Ich weiß also, dass ich die CSV-Datei erfolgreich erhalten habe. Ich denke, dass es möglich sein sollte, aber ich bin nicht sicher, wie man diese csv-Akte zu meiner Ajaxfunktion richtig empfängt ??
Natürlich könnte ich diese URL eine korrekt formatierte JSON-Zeichenfolge zurückgeben, die die beste wäre, aber ich bin mir nicht sicher, ob ich das tun kann. Hier
ist eine Geige, wo man es versuchen, werden Sie die Entwickler-Konsole öffnen, müssen diese Fehler zu sehen: http://jsfiddle.net/92uJ4/3/
Jede Hilfe wird sehr geschätzt.
Tim
Danke für die tolle Information. Ich dachte, dass diese Methode der Informationsgewinnung nicht wirklich durchführbar ist. Ihre Lösung sieht gut aus, ich habe YQL schon einmal angeschaut, ich schätze, das ist der richtige Weg. –
Speichert diese Implementierung irgendetwas in der YQL-Datenbank? oder ruft es nur die Daten für weitere Manipulation ab? Danke @JoeC –
@PT_C: Soweit ich weiß, speichert es nichts in der YQL-Datenbank. Es sollte nur ein Durchlauf sein. Da es sich jedoch um eine Drittpartei handelt, können Sie nicht garantieren, dass sie die Informationen, die ihre Systeme durchlaufen, nicht protokollieren. Daher würde ich dies nicht für sensible Zwecke verwenden. Es wäre besser, eine eigene serverseitige Lösung für das Ziehen von Daten in diesem Fall zu implementieren. –