Maison > interface Web > js tutoriel > Comment puis-je récupérer des données inter-domaines à l'aide d'AJAX et d'un proxy côté serveur ?

Comment puis-je récupérer des données inter-domaines à l'aide d'AJAX et d'un proxy côté serveur ?

Barbara Streisand
Libérer: 2024-11-27 05:29:24
original
269 Les gens l'ont consulté

How Can I Retrieve Cross-Domain Data Using AJAX and a Server-Side Proxy?

Récupération de données inter-domaines AJAX

Lors de la tentative d'exécution d'une requête HTTP AJAX vers une URL inter-domaines (par exemple, "http : //www.google.com"), les navigateurs appliquent une politique inter-domaines qui interdit la récupération et l'affichage directs des data.

Une solution potentielle consiste à utiliser le dataType "jsonp" dans la requête AJAX. Bien que cela puisse vous permettre de recevoir des données du domaine étranger, vous pouvez rencontrer des erreurs de syntaxe dues au format non JSON des données reçues.

Pour contourner ces limitations, l'approche la plus pratique consiste à utiliser un serveur. -langue côté comme proxy. Cela implique d'envoyer l'URL inter-domaines à un script sur votre propre serveur (par exemple, un script PHP nommé "proxy.php"), qui récupère ensuite les données du domaine externe et les renvoie à votre appel AJAX.

Voici un exemple utilisant jQuery et un proxy PHP :

jQuery Code :

$.ajax({
    url: 'proxy.php',
    type: 'POST',
    data: {
        address: 'http://www.google.com'
    },
    success: function(response) {
        // response now contains full HTML of google.com
    }
});
Copier après la connexion

Script de proxy PHP (proxy.php) :

echo file_get_contents($_POST['address']);
Copier après la connexion

En utilisant ce mécanisme de proxy, vous pouvez récupérer et afficher des données à partir de sources inter-domaines dans les limites de la politique inter-domaines. Cependant, il est essentiel d'être conscient des limites et des implications potentielles de la récupération de données provenant de domaines externes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal