TETE XMLHttpRequest sur Chrome
-
25-09-2019 - |
Question
Je suis en train d'obtenir la réponse de tête avec un XMLHttpRequest en chrome retrive l'URL de l'emplacement d'une URL compressé, mais il échoue:
var ajax = new XMLHttpRequest();
ajax.onreadystatechange = function() { if (ajax.readyState == 4) alert(ajax.getResponseHeader("Location")) };
ajax.open('HEAD', "http://bit.ly/4Agih5", false);
ajax.send();
// Refused to get unsafe header "Location"
// Error: NETWORK_ERR: XMLHttpRequest Exception 101
La solution
Comme indiqué Mohamed, vous devrez créer un service proxy sur le même site que vous hébergez votre page car cela est une demande de domaine croix.
manquerions dans tous les navigateurs, sauf si vous avez explicitement autorisé les demandes de domaine croisées dans votre navigateur. Si les demandes de domaine croisées pris en charge par l'bit.ly W3C spec pour Access-Control-Allow-Origin puis votre code fonctionnerait.
Autres conseils
Vous ne pouvez pas faire les requêtes XHR inter-domaines. Utilisez un langage de programmation web comme JSP / Python / PHP / Ruby / etc ..