Dieser Artikel stellt hauptsächlich die Analyse und Lösungen für die Probleme vor, die bei der Verwendung von Ajax zur Implementierung von WeChat-Anrufen in Version jquery 1.8 auftreten. Freunde in Not können sich darauf beziehen
Lassen Sie mich zunächst den Hintergrund erklären Problem: Kürzlich arbeite ich an einem Projekt zur Entwicklung einer bestimmten Funktion von WeChat. Ich verwende die asp.net-Entwicklung und die JQuery-Version 1.8.0.
Klicken Sie in WeChat auf eine Schaltfläche, um ein Ereignis auszulösen, rufen Sie Ajax auf, um mit dem Server zu interagieren, und die Rückruffunktion verwendet einen Fehler.
Analysegrund: Das erste, was mir einfiel, war, dass es ein Problem mit dem zurückgegebenen Datentyp gab, da die JQuery-Version über 1.4 sehr streng in Bezug auf das JSON-Format ist und diese einhalten muss mit {"target":true, "message":"success"} in diesem Format. Das Antwortobjekt wurde mit der Funktion JSON.stringify() analysiert. Die Ergebnisse waren konsistent und die Ursache wurde behoben.
Da Ajax Fehler verwendet, habe ich begonnen, die Parameter der Fehlerfunktion zu analysieren, zu denen XMLHttpRequest, textStatus und errorThrown gehören. Ich habe festgestellt, dass XMLHttpRequest.status gleich 0 und XMLHttpRequest.readyState gleich 0 ist, was darauf hinweist, dass das Formular ein XMLHttpRequest-Objekt enthält, das jedoch nicht initialisiert wurde. Als nächstes begann ich zu untersuchen, wie das XMLHttpRequest-Objekt initialisiert wird.
Lösung:
var xmlHttpRequest; $(function(){ if(window.XMLHttpRequest){ xmlHttpRequest=new XMLHttpRequest(); }else{ xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP"); } xmlHttpRequest.open("GET","AjaxServlet",true); });
Achten Sie auf den allgemeinen Ajax-Zugriff auf dem PC Es wird kein Problem geben, da Browser auf PCs über integrierte XMLHttpRequest-Objekte verfügen. Wenn dieses Phänomen jedoch in WeChat auftritt, müssen Sie es möglicherweise manuell erstellen und initialisieren.
ps: Die Android-Version von WeChat verfügt über eine Browser- und IE6-Browser-Abbruchfehlerbehandlung für Ajax-Anfragen
Binden Sie ein Klickereignis an das Seitenelement, um die Ajax-Anfrage auszulösen. Im integrierten Browser von Android WeChat und IE6 wird die Anfrage häufig unterbrochen und der Fehlertyp „Abbruch“ zurückgegeben. In anderen Browsern ist alles normal.
Bei der Verwendung von Fiddler2 und httpWatch zur Überwachung von Anfragen in IE6 wird häufig „abgebrochen“ angezeigt, was ein ganzes Wochenende dauert. . . . .
Kein Unsinn mehr....
Lösung: onclick='return false;' zum Label hinzufügen
Das bin ich, für den ich es zusammengestellt habe Ich hoffe, dass es in Zukunft für alle hilfreich sein wird.
Verwandte Artikel:
Verbessern Sie die Ajax-Listenanfrageerfahrung basierend auf dem h5-Verlauf
Besprechen Sie kurz die AJAX-Kernobjekte
Detaillierte Erläuterung der Beispiele für Ajax-Datenübertragungsmethoden
Das obige ist der detaillierte Inhalt vonDie Version jquery1.8 verwendet Ajax, um Problemanalysen und Lösungen für WeChat-Anrufe zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!