2010-02-04 9 views
2

J'ai une page Web simple qui a un lien, en appuyant sur un fichier est téléchargé (reste appel de service Web). J'ai besoin de lire le fichier et d'afficher le contenu en utilisant javascript. Comment puis-je faire cela?Télécharger le fichier et afficher le contenu avec javascript

+1

Est-ce un fichier texte? –

+0

un fichier texte contenant des données au format JSON. – Pranav

+0

Le fichier est-il téléchargé sur l'ordinateur de l'utilisateur, mais vous souhaitez également qu'une copie du contenu apparaisse sur la page Web? – Psytronic

Répondre

2

Si vous avez accès au serveur sur lequel le service Web REST est hébergé, vous pouvez utiliser JSONP.

Sinon, vous devrez contourner les restrictions same-origin policy. Pour une solution de contournement possible, vous pouvez configurer un reverse proxy très simple (avec mod_proxy si vous utilisez Apache). Cela vous permettrait d'utiliser des chemins relatifs dans votre requête AJAX, alors que le serveur HTTP agirait comme un proxy pour tout emplacement «distant».

La directive de configuration fondamentale pour configurer un proxy inverse dans mod_proxy est le ProxyPass. Vous utiliserez généralement comme suit:

ProxyPass  /web-services/  http://third-party.com/web-services/ 

Dans ce cas, le navigateur serait demander /web-services/service.json mais le serveur servirait en agissant comme mandataire à http://third-party.com/web-services/service.json. Si vous utilisez IIS, vous pouvez utiliser Managed Fusion URL Rewriter and Reverse Proxy pour configurer le proxy inverse.


EDIT:

Suite au commentaire ci-dessous, étant donné que le service web est sur le même domaine, il n'y a pas besoin de se soucier de la même politique d'origine. Utilisez simplement XMLHttpRequest. Vous pouvez commencer par vérifier l'article à ajaxpatterns.org:

+0

Je demande des données du même domaine, alors que dois-je faire dans ce cas? – Pranav

+0

Si votre webservice est sur le même domaine, vous pouvez utiliser AJAX en utilisant XMLHttpRequest: http://en.wikipedia.org/wiki/XMLHttpRequest. Vous serez renvoyé les données dans la propriété 'responseText'. –

0

Comme vous utilisez JQuery:

http://api.jquery.com/jQuery.getJSON/

Votre fichier texte sera transmis à la fonction "succès" que vous avez mise en place. Votre fonction de réussite peut écrire le contenu sur la page, en utilisant un document.write ou similaire.

2

En utilisant jquery

 
$.getJSON(myResourceFileURL, 
function parseResults(json){ 
    //json is the contents of the file 
} 
); 
Questions connexes