0
Je suis en train d'accéder de ressources à partir de plusieurs serveurs en utilisant AJAX, et je suis en cours d'exécution dans ce problème:XMLHttpRequest ne peut pas charger
XMLHttpRequest cannot load http://first.mydomain.com. Origin http://second.mydomain.com is not allowed by Access-Control-Allow-Origin.
Avec le code suivant
for (i in domains)
{
var url = 'http://'+domains[i]+'/mgmt/json/queue_status.php';
requests[i]=new request(url);
break;
}
function request(url)
{
var queues = {};
http_request = new XMLHttpRequest();
http_request.open("GET", url, true, 'username', 'password');
http_request.onreadystatechange = function() {
var done = 4, ok = 200;
if (http_request.readyState == done && http_request.status == ok) {
queues = JSON.parse(http_request.responseText);
var queuesDiv = document.getElementById('queues');
print_queues(queues, queuesDiv);
}
}
http_request.send(null);
}
J'ai ajouté ce qui suit à page de réponse demandée.
header('Access-Control-Allow-Origin: *');
J'ai essayé de nommer explicitement le demandeur sans succès.
Merci
PS: Le code ci-dessus, je suis sûr ins't parfait, mais fonctionnent bien quand essayant seulement aux demandes de la ressource du serveur hôte.
Classique. Cela se produit en raison de la [Politique de même origine] (http://en.wikipedia.org/wiki/Same_origin_policy) –
Ok, mais est-il possible de contourner cela? – 111111
Oui, via les rappels JSONP et l'injection de tag «