2009-07-23 9 views
0

J'ai créé un projet Question of the Week en PHP et j'ai utilisé AJAX pour que les choses fonctionnent en temps réel et MySQL en tant que base de données. Mon projet entier fonctionne très bien dans Firefox et même dans Google Chrome. Mais cela ne fonctionne pas sur Internet Explorer.Problème lors de l'exécution du projet dans Internet Explorer

Il n'effectue pas les modifications. par ex. Si je poste en utilisant IE, il ne montrera pas la question postée dans la réponse, même si j'essaie de rafraîchir. Mais si je rafraîchis mon projet dans Firefox, il me montre la question postée. Pour voir les changements dans IE, je dois effectivement fermer l'IE et recommencer à zéro.

Pouvez-vous s'il vous plaît me suggérer tout ce que je devrais faire pour me débarrasser de ce problème?

Répondre

1

IE a tendance à mettre en cache les réponses AJAX. Essayez d'ajouter un peu de caractère aléatoire à votre requête afin qu'elle ressemble à une "nouvelle" page est demandée chaque fois qu'il y a un appel AJAX.

3

Pour IE, vous devez utiliser Active X

var xmlhttp; 
if (window.XMLHttpRequest) 
    { 
    // code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else if (window.ActiveXObject) 
    { 
    // code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
else 
    { 
    alert("Your browser does not support XMLHTTP!"); 
    } 
0

pour la partie ajax voir les autres réponses, comme pour la partie de rafraîchissement que vous pouvez regarder la façon d'éviter le cache côté client dans IE

1

Si vous utilisez AJAX pour poster des questions que vous utilisez votre propre Javascript personnalisé ou utilisez-vous un cadre (comme jQuery)? Si vous écrivez votre propre javascript pour gérer tout, assurez-vous que vous obtenez le bon XmlHttpRequest du navigateur (le code que j'utilise pour obtenir le bon objet est ci-dessous). En outre, vous n'avez pas indiqué quelle version d'IE vous utilisez. Si vous utilisez IE8, vous pouvez utiliser les outils de développement (appuyez sur F12 ou Outils -> Outils de développement) pour déboguer votre javascript.

code

pour obtenir XmlHttpObject:

function GetXmlHttpObject() { 
    var xmlHttp = null; 
    try { 
    xmlHttp = new XMLHttpRequest(); 
    } catch (e) { 
    try { 
     xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (e) { 
     xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    } 
    return xmlHttp; 
} 
Questions connexes