2013-04-05 6 views
1

Je suis en train de charger des fichiers .csv depuis des serveurs distants (donc je dois traiter avec le problème de domaine), et j'utilise jsonp avec le code suivanten utilisant jQuery pour obtenir interdomaine fichier csv

sql="a csv file link" 

$.ajax({ 
url:sql, 
dataType:'jsonp', 
}).done(function(){ 
    console.log("done"); 
}).error(function(){ 
console.log("err"); 
}).fail(function(){ 
console.log("fail"); 
}).success(function(){ 
console.log("success"); 
}); 

D'une certaine manière, ce morceau de code me donne 2 résultats différents.

1) Sur certains liens de fichiers csv, il semble obtenir le fichier csv complet. Cependant, il y a une erreur indiquant que le fichier csv a une "erreur de syntaxe", et que .error et .fail sont exécutés.

2) Sur certains autres liens de fichiers csv (quelque chose comme http://www.http: // host.com:port/file.csv? Select from table), rien ne se passe en quelque sorte. Le .done/.success ne sont pas appelés, ni le .fail/.error sont appelés

Quelqu'un peut-il me dire la solution ou les causes possibles de ces problèmes ci-dessus?

Merci!

Répondre

1

Si le serveur remore permet JSONP, utiliser quelque chose comme ce qui suit:

sql="a csv file link"+"?callback=myFunc"; 

Où myFunc est une fonction définie par l'utilisateur pour traiter les données à partir du serveur distant.

Une autre technique consiste à utiliser un proxy comme décrit ici: https://stackoverflow.com/a/2559062/1186628

[Mise à jour]

ici est un exemple très simple de ce que myFunc pourrait ressembler à:

function myFunc(data){ 
    alert(data); 
} 
+0

umm, pourriez-vous donner un exemple de myFunc ?? Vraiment apprécié :) – user1948847

+0

@ user1948847 s'il vous plaît voir la mise à jour. –

Questions connexes