Contexte:demandes inter-domaines - javascript
Je crée une application Web pour télécharger et prix des logements d'affichage. Source des données: http://www.fhfa.gov/DataTools/Downloads/Documents/HPI/HPI_AT_metro.csv
Mon plan:
Télécharger les données directement à partir du lien en utilisant javascript, puis transformer les données dans un objet javascript (éventuellement en utilisant jQuery-csv). Après cela, j'utiliserais DataTables ou une autre bibliothèque javascript pour afficher les données.
Là où je suis resté bloqué:
Après quelques recherches, il semble faire cela porte atteinte à la « politique d'origine ». D'après ce que j'ai lu, il n'est pas acceptable de télécharger des données provenant de sources externes en javascript.
Questions:
- Ai-je raison? Le téléchargement d'un .csv à partir d'une source de données externe est-il contraire à la "politique d'origine identique"? Si je ne me trompe pas, les morceaux de code requis pour télécharger le fichier .csv à partir du lien ci-dessus et le convertir en un objet javascript (de préférence en utilisant jQuery) seraient extrêmement utiles. Si je me trompe, pourquoi le téléchargement d'un fichier .csv externe constitue-t-il une violation de cette politique, alors que le fait de rechercher une image externe à utiliser dans un site Web ne constitue pas une violation de cette politique? Par exemple.
<img src="http://www.freeflashgamearcade.com/games/images/tic-tac-toe.jpg">
http://www.freeflashgamearcade.com/games/images/tic-tac-toe.jpg
Notes:
J'espère que de le faire de cette façon, donc je peux éviter d'utiliser un langage complètement côté serveur. Si cela ne fonctionne pas, je prévois de configurer l'application en utilisant python/flask, qui ne serait utilisé que pour télécharger les données.
Il n'est pas possible de télécharger un fichier via une requête AJAX, donc je ne vois pas comment ce que vous décrivez violerait la SOP. Cela dit, je ne vois pas non plus comment cela pourrait fonctionner lorsque vous téléchargerez le fichier sur la machine cliente afin qu'il soit alors inaccessible à votre code JS. –
@RoryMcCrossan pas vraiment vrai concernant le téléchargement. par exemple '' attribut de téléchargement, 'FileSaver' API etc – charlietfl
Peut utiliser proxy sur votre propre serveur pour récupérer les données, puis ajax à votre proxy. Ou utilisez un service de proxy tiers comme YQL – charlietfl