perche questo javascript:Ricevere .csv come dati in funzione di successo ajax
$.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);
}
})
L'URL restituisce un file .csv, ma sto specificando il tipo di dati jsonp
perché questa è una richiesta AJAX cross-domain . Senza questo parametro ottengo l'errore "L'origine non è consentita".
Poiché si specifica il tipo di dati jsonp
, la funzione ajax genera un errore perché il file .csv non è in formato JSON. Ma nella console di sviluppo posso vedere che il browser riceve un file CSV coerente. Quindi so che sto ricevendo il file CSV. Penso che dovrebbe essere possibile, ma non sono sicuro di come ricevere correttamente questo file CSV alla mia funzione Ajax ??
Naturalmente se potessi fare in modo che questo URL restituisse una stringa JSON correttamente formattata sarebbe la migliore, ma non sono sicuro di poterlo fare.
Ecco un violino in cui si può provare, si dovrà aprire la console dev di vedere che l'errore: http://jsfiddle.net/92uJ4/3/
Qualsiasi aiuto è molto apprezzato.
Tim
Grazie per l'ottima informazione. Stavo pensando che era il caso che questo metodo di raccolta delle informazioni non fosse realmente fattibile. La tua soluzione sembra fantastica, stavo guardando YQL prima, credo che sia il modo per farlo. –
Questa implementazione salva qualcosa nel database YQL? o recupera i dati per ulteriori manipolazioni? Grazie @JoeC –
@PT_C: Per quanto ne so, non salva nulla nel database YQL. Dovrebbe essere solo un pass-through. Tuttavia, poiché si tratta di una terza parte, non è possibile garantire che non stiano registrando le informazioni che passano attraverso i loro sistemi, quindi non lo userei per qualcosa di sensibile. Sarebbe meglio implementare la propria soluzione lato server per estrarre i dati in quel caso. –