Heim  >  Artikel  >  Web-Frontend  >  So lösen Sie den von JQuery ajaxSubmit übermittelten chinesischen verstümmelten Code

So lösen Sie den von JQuery ajaxSubmit übermittelten chinesischen verstümmelten Code

亚连
亚连Original
2018-05-25 09:47:452651Durchsuche

Dieser Artikel wird Ihnen die Lösung für das Problem der Übermittlung chinesischer verstümmelter Jquery-Ajax-Zeichen zeigen. Interessierte Freunde können mir folgen, um zu lernen

Die meisten Leute verwenden

jQuery(form).ajaxSubmit({ 
url: "ajaxsub.aspx?abc=test",
type: "post", 
dataType: "json", 
success: data
});

Analyse: Die AJAX-Übermittlung von JQuery codiert die zu übermittelnden Daten und verwendet encodeURIComponent, um die Daten in js zu verarbeiten. Daher sind die übermittelten Daten unabhängig davon, ob es sich um Firefox oder IE handelt, konsistent und UTF-8-codierte Daten.

Beim Betrachten des Headers haben wir festgestellt, dass es einen Unterschied im Inhaltstyp in der Entität gibt.

In Firefox gibt der Inhaltstyp den Zeichensatz als utf-8 an .

Es gibt jedoch keine Zeichensatzspezifikation im IE

Offensichtlich sollte die Zeichenkodierung der asynchronen Übermittlung von AJAX mit der Webseite selbst übereinstimmen Kein Zeichensatz auf der Serverseite. Es wurde festgestellt, dass bei Angabe des angezeigten Zeichensatzes gb2312 zum Dekodieren der Daten verwendet wird (die Daten wurden jedoch vor der Übermittlung UTF-8-kodiert). Dies ist die Hauptursache für verstümmelte Zeichen im IE , während unter Firefox der Browser bei der Bereitstellung von AJAX-Daten die Anzeigespezifikation des Zeichensatzes hinzufügt, wodurch der Server UTF-8 zum Dekodieren der Daten verwendet (korrekte Dekodierung).

Überprüfen Sie die Beschreibung der AJAX-Toolfunktion von JQuery und stellen Sie fest, dass es einen Parameter gibt, der den Inhaltstyp in den Optionen angibt

Sie müssen also beim Senden den Codierungstyp angeben

contentType: "application/x-www-form-urlencoded; charset=utf-8",

ist wie folgt

jQuery(form).ajaxSubmit({ 
url: "ajaxsub.aspx?abc=test", 
type: "post", 
dataType: "json", 
contentType: "application/x-www-form-urlencoded; charset=utf-8", 
success: data
});

Das Obige habe ich für alle zusammengestellt hilfreich für alle in der Zukunft.

Verwandte Artikel:

So lösen Sie verstümmelte chinesische Zeichen, wenn JQuery Ajax JSON zurückgibt

So verwenden Sie Ajax in Django Framework-Post-Methode

Detaillierte Erläuterung von Ajax +jtemplate zur Implementierung dynamischer Paging

Das obige ist der detaillierte Inhalt vonSo lösen Sie den von JQuery ajaxSubmit übermittelten chinesischen verstümmelten Code. 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