J'essaie de faire un AJAX appel avec jQuery et $.post
dans Internet Explorer, mais tout ce que j'obtiens est une erreur disant "Autorisation refusée". Le problème est un peu bizarre car il ne se produit que lorsque j'accède à une page après avoir été sur une autre page.
Par exemple, je tape l'URL dans la ligne d'adresse et je laisse IE charger la page. Ensuite, je clique sur un bouton pour que le script commence à charger les données JSON. (Le script fournissant les données se trouve sur le même serveur et j'y accède avec une URL relative, donc l'utilisation d'un domaine différent n'est pas le problème ici. Même essayé d'utiliser une URL absolue avec la même partie Host.)
Mais quand je rafraîchis la page et que je réessaye, ça marche! Même chose quand j'arrive sur cette page depuis une autre page. Au début, rien ne fonctionne, mais quand je clique sur "rafraîchir", tout va bien.
IE me donne le message d'erreur "Autorisation refusée" alors que dans tous les autres navigateurs, je ne remarque pas ce comportement. Puisque j'ai essayé beaucoup de choses et que je ne peux toujours pas imaginer où se situe le problème, je voudrais vous demander quel pourrait être le problème selon vous?
edit: Un petit exemple:
test.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
<script type="text/javascript" src="/ietest/jquery.js"></script>
<script type="text/javascript" src="/ietest/test.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<a href="#">Test</a>
</body>
</html>
ajax.html
It works!
test.js
$(document).ready(function(){
$( 'a' ).click(function(){
$.post( '/ietest/ajax.html', function( data ) {
alert( data );
});
});
});
Essayez-le ici: http://t1318.greatnet.de/ietest/test.html
Depuis le post sur le forum jquerys ici , vous devez avoir le type de contenu meta comme premier élément dans votre balise head.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="/ietest/jquery.js"></script>
<script type="text/javascript" src="/ietest/test.js"></script>
</head>
<body>
<a href="#">Test</a>
</body>
</html>
Si c'est local (localhost), alors pour des raisons de sécurité, vous devez avoir le chemin complet.
Dans mon cas, la modification de la version jquery a fonctionné. Au lieu d'utiliser la version 1.9.1, j'utilise maintenant 1.12.4 et cela fonctionne.