Je faisais un travail de test aujourd'hui et j'ai trouvé un problème qui m'a intrigué. La méthode getJson de jquery peut obtenir le résultat renvoyé lors de l'exécution sur Firefox, mais lorsqu'elle est testée sur ie8, j'ai trouvé cela. la demande n'a pas été envoyée, je n'ai donc pas pu obtenir de résultats. Après avoir traversé de nombreux rebondissements, j'ai trouvé la solution dans un article en ligne, je l'ai donc extrait et apporté quelques modifications.
1 Rendre l'url différente pour chaque appel
Méthode : Ajouter un au paramètre Nombre aléatoire .
Exemple 1 :
jQuery.getJSON("$!{Root}/a/a/s.ashx",{ID:"123456",Nom : "john",random:Math.random()},function(responseText){}
Exemple 2 :
"xxx.aspx?randID="+Math .random
Exemple 3 :
"xxx.aspx?randID="+ escape(new Date())
2 sera le cache est défini sur False
$.ajax necache version :
$.ajax({ type:"GET" url:'test.html' , cache:false, dataType:"html", success:function(msg){ alert(msg); } });
3. Ajoutez la déclaration suivante en haut du fichier labels.html :
4.load fonction peut non seulement appeler du HTML, mais aussi appeler un script, tel que labels.php, vous pouvez utiliser la fonction d'en-tête dans le fichier php :
header("Cache-Control: no-cache, must-revalidate");
?>
5 Utilisez la méthode post au lieu de la méthode get.
Utilisation de la méthode Post nécessite Remarque :
Définissez le Context-Type de l'en-tête sur application/x-www-form-urlencode pour vous assurer que le serveur sait qu'il y a des paramètres dans l'entité variables. utilisez le XmlHttpRequestobjectSetRequestHeader("Context-Type","application/x-www-
form-urlencoded;").
Exemple : xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
Les paramètres sont des paires clé-valeur avec une correspondance nom/valeur un à un. Chaque paire de valeurs est séparée par une esperluette. Par exemple, var name=abc&sex=man&age. =18, faites attention à var name=update. php?abc&sex=man&age=18 et var name=?abc&sex=man&age=18 sont tous deux mal écrits
les paramètres sont dans la méthode Send (paramètre) Send, par exemple : xmlHttp.send(name); Si c'est la méthode get, directement xmlHttp.send(null); Côté serveurParamètres de requête; S'il s'agit de la méthode get, faites la distinction entre Get et Post. $username = $_GET["username"]; S'il s'agit du mode post, alors $username = $_POST["username"];
6 Ajouter un en-tête("Cache- Control: no-cache, must-reva lidate");
7 Ajouter avant d'envoyer la requête ajax
xmlHttpRequest.setRequestHeader("If-Modified-Since","0");
8 Ajouter avant qu'Ajax n'envoie la demande
xmlHttpRequest.setRequestHeader("Cache-Control","no-cache");
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!