Heim  >  Artikel  >  Web-Frontend  >  So lösen Sie das Problem, dass JQuery Ajax nicht mit IE8 kompatibel ist

So lösen Sie das Problem, dass JQuery Ajax nicht mit IE8 kompatibel ist

藏色散人
藏色散人Original
2021-01-05 09:13:482399Durchsuche

Die Lösung für die Inkompatibilität von JQuery Ajax mit IE8: Öffnen Sie zuerst die entsprechende Codedatei. Verwenden Sie dann das JSON-Format, um Daten anzufordern, mit Codeanweisungen wie „{foo:[“bar1“, „bar2“]}“.

So lösen Sie das Problem, dass JQuery Ajax nicht mit IE8 kompatibel ist

Die Betriebsumgebung dieses Tutorials: Dell G3-Computer, Windows 7-System, jquery1.10.0&&ie8-Version.

Empfohlen: „Javascript-Grundlagen-Tutorial“ „JQuery-Video-Tutorial

Über die Lösung, wenn jQuerys AJAX nicht mit IE kompatibel ist

Bei Verwendung von jQuerys AJAX: get-Methode, um zu erkennen, ob die Daten vorhanden sind Es wird festgestellt, dass der IE nicht kompatibel ist.

Bei Verwendung der AJAX:post-Methode können bei Verwendung von Chrome/FireFox/IE die richtigen Ergebnisse angezeigt werden, bei Verwendung der AJAX:get-Methode kann IE jedoch nicht die richtigen Ergebnisse zurückgeben.

Könnte es sein, dass die Daten die Längenbeschränkung der get-Methode überschreiten? Das ist insgesamt nicht möglich. ausschließen.

Einige Internetnutzer sagten, es handele sich um ein Problem mit dem IE-Cache. Fügen Sie einfach eine Zufallszahl nach den Anforderungsdaten hinzu, z. B. das Hinzufügen der Zeitnummer new Date().getTime().

Ich habe im vorherigen Code Zufallszahlen hinzugefügt, aber die Verwendung von „Math.random()“ funktioniert nicht. Ist es zuverlässiger, die Zeit zu nutzen?

Dann versuchen Sie, es so zu ändern, dass Sie nach dem Parameter „new Date().getTime()“ hinzufügen und es wiederholt testen, aber es funktioniert immer noch nicht. Auch dieser Fehler ist behoben.

Nach mehrmaligem Durchsehen des Handbuchs stellte ich fest, dass das angeforderte Datenformat immer noch ein JSON-Format hat, z. B. {foo:["bar1", "bar2"]}, und habe es dann in diesem Format und mit der richtigen Abfrage geschrieben Die Ergebnisse kamen wirklich zurück. Ich wusste wirklich nicht, dass der IE diese Anforderung noch hat. (Ende)

Vorheriges Format:

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

Verbessertes Format:

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

Es wird im jQuery-Handbuch wie folgt beschrieben:

data Object,String

Daten werden an den Server gesendet. Wird automatisch in das Anforderungszeichenfolgenformat konvertiert. Wird in GET-Anfragen an die URL angehängt.

Siehe die Beschreibung der ProcessData-Option, um diese automatische Konvertierung zu deaktivieren. Muss im Schlüssel/Wert-Format vorliegen.

Wenn es sich um ein Array handelt, weist jQuery verschiedenen Werten automatisch denselben Namen zu. Beispielsweise wird {foo:["bar1", "bar2"]} in "&foo=bar1&foo=bar2" konvertiert.

Code-Schnipsel:

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的代码
}
});

Weitere Kenntnisse zum Programmieren finden Sie unter: Programmierlehre! !

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, dass JQuery Ajax nicht mit IE8 kompatibel ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn