Maison  >  Article  >  interface Web  >  Comment résoudre le problème que jquery ajax n'est pas compatible avec ie8

Comment résoudre le problème que jquery ajax n'est pas compatible avec ie8

藏色散人
藏色散人original
2021-01-05 09:13:482313parcourir

La solution au problème selon lequel jquery ajax n'est pas compatible avec ie8 : ouvrez d'abord le fichier de code correspondant ; puis utilisez le format JSON pour demander des données, avec des instructions de code telles que "{foo:["bar1", " barre2"]}".

Comment résoudre le problème que jquery ajax n'est pas compatible avec ie8

L'environnement d'exploitation de ce tutoriel : ordinateur Dell G3, système Windows 7, version jquery1.10.0&&ie8.

Recommandé : "Tutoriel de base javascript" "Tutoriel vidéo jquery"

À propos de la solution pour que l'AJAX de jQuery ne soit pas compatible avec IE

Lorsque vous utilisez la méthode AJAX: get de jQuery pour détecter si des données existent, vous constaterez qu'IE sera incompatible.

Lors de l'utilisation de la méthode AJAX:post, les résultats corrects peuvent apparaître lors de l'utilisation de Chrome/FireFox/IE, mais lors de l'utilisation de la méthode AJAX:get, IE ne peut pas renvoyer les résultats corrects.

Se pourrait-il que les données dépassent la limite de longueur de la méthode get. C'est impossible, je n'ai transféré qu'une petite partie des données au total. exclure.

Certains internautes ont déclaré qu'il s'agissait d'un problème avec le cache IE. Ajoutez simplement un nombre aléatoire après les données de la demande, par exemple en ajoutant le numéro d'heure new Date().getTime().

J'ai ajouté des nombres aléatoires dans le code précédent, et l'utilisation de "Math.random()" ne fonctionne pas. Est-il plus fiable d’utiliser le temps ?

Essayez ensuite de le changer pour obtenir l'heure. Ajoutez "new Date().getTime()" après le paramètre et testez-le à plusieurs reprises, mais cela ne fonctionne toujours pas. Cette erreur est également éliminée.

Après avoir vérifié à plusieurs reprises le manuel, j'ai découvert que le format de données demandé avait toujours un format JSON, tel que {foo:["bar1", "bar2"]}, puis je l'ai écrit dans ce format, et il a vraiment renvoyé les résultats de requête corrects. Je ne savais vraiment pas qu'IE avait toujours cette exigence. (Fin)

Format précédent :

type: "get",
data: "bid="+my_bid+"&name_cn="+name_cn+"&timeStamp="+new Date().getTime(),

Format amélioré :

type: "get",
data: {'bid':my_bid,'name_cn':name_cn,'timeStamp':new Date().getTime()},

est décrit dans le manuel jQuery :

data Object,String

Envoyé aux données du serveur. Sera automatiquement converti au format de chaîne de demande. Ajouté à l'URL dans les requêtes GET.

Voir la description de l'option processData pour désactiver cette conversion automatique. Doit être au format Clé/Valeur.

S'il s'agit d'un tableau, jQuery attribuera automatiquement le même nom à différentes valeurs. Par exemple, {foo:["bar1", "bar2"]} est converti en "&foo=bar1&foo=bar2".

Extrait de code :

var siteUrl="http://blog.sina.com.cn/cnwyt"; 
jQuery.ajax({
type: "get",
url: siteUrl+"cosmetics/product/ajax_check?",
//data: "bid="+my_bid+"&name_cn="+name_cn+"&timeStamp=" + new Date().getTime(),
data: {'bid':my_bid,'name_cn':name_cn,'timeStamp':new Date().getTime()},
dataType: 'json',
error: function (err) { alert('网络故障,请与管理员联系!') },
success: function (message) {
if(message!=false){
//ture的代码
}else{
//false的代码
}
});

Pour plus de connaissances liées à la programmation, veuillez visiter : Enseignement de la programmation ! !

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn