javascript: comment récupérer le contenu d'une page web
En JS est-il possible de récupérer le contenu d'une page web de l'affecter à une variable?
Par exemple, pourquoi les suivantes jouet code ne fonctionne pas?
var req = new XMLHttpRequest();
req.open('GET', 'http://www.google.com', false);
req.send(null);
if(req.status == 200)
alert(req.responseText);
Est-il une meilleure méthode/code?
OriginalL'auteur tic | 2011-03-14
Vous devez vous connecter pour publier un commentaire.
utiliser un serveur proxy comme en php, la page de lecture de la page souhaitée, puis faire des appels ajax pour que le proxy à l'aide de javascript :
OriginalL'auteur gion_13
Le ci-dessus ne fonctionne pas, car les requêtes Ajax ne peut pas accéder à des fichiers/pages sur d'autres domaines, en raison de problèmes de sécurité. En règle générale, vous pouvez faire un script à l'aide de [Insérer le Côté Serveur de la Langue ici] pour télécharger la page demandée. Ensuite, votre javascript peut faire une demande sur cette page.
Il y a aussi "JSONP", mais il est généralement utilisé sur les sites qui fournissent des JSONP d'accès, ce qui est plus aléatoire URL de ne pas.
OriginalL'auteur Mig
Pour des raisons de sécurité, vous ne pouvez pas utiliser AJAX pour envoyer une demande à un autre domaine.
OriginalL'auteur SLaks
Si vous avez vraiment besoin de faire cela, vous pouvez essayer d'utiliser jQuery et des iFrames (lire la suite à la (lire la suite http://softwareas.com/cross-domain-communication-with-iframes).
Aussi, vous pouvez essayer avec Access-Control-Allow-Origin: http://yourdomain:1234/ dans les en-têtes, de google pour le Cross-Origin Resource sharing. C'est relativelly même si, pas tous les navigateurs savoir à ce sujet. Qui dépend aussi si vous avez le contrôle de l'autre serveur les en-têtes de génération et de quelques autres choses.
OriginalL'auteur Zlatko