Heim  >  Artikel  >  Backend-Entwicklung  >  So lösen Sie schnell die Anfrage von jQuery, verstümmelte chinesische Parameter zu übertragen

So lösen Sie schnell die Anfrage von jQuery, verstümmelte chinesische Parameter zu übertragen

php中世界最好的语言
php中世界最好的语言Original
2018-05-28 11:04:451675Durchsuche

Dieses Mal zeige ich Ihnen, wie Sie die Anfrage von jQuery zur Übertragung verstümmelter chinesischer Parameter schnell lösen können und wie Sie die Anfrage von jQuery zur Übertragung verstümmelter chinesischer Parameter schnell lösen können. Was sind die Vorsichtsmaßnahmen? Werfen wir einen Blick darauf.

Die aktuelle Anforderung beinhaltet eine kaskadierte -Abfrage . Es ist notwendig, die Dropdown-Box-Liste der unteren Ebene basierend auf dem Inhalt der Dropdown-Box der oberen Ebene abzufragen, da diese vorhanden ist Es gibt nur zwei Kaskadenebenen, und die Tabelle wird später aktualisiert. Die Daten in werden sich fast nie ändern, sodass die von mir entworfene Tabelle Chinesisch direkt speichert.

Das Menü lautet wie folgt:

So lösen Sie schnell die Anfrage von jQuery, verstümmelte chinesische Parameter zu übertragen

Der Code lautet wie folgt:

var url = "${basePath}/institutionConfig/getDepartmentByCenter.do?param=" + center;
$.get(url, function (data) {
 var list = data.data;
 for (var i = 0; i " + list[i] + "";
 }
 $("#accountDepartmentAdd").html(departmentSelector);
});

Ich verwende $.get(url, callback), um Anfragen an die zu senden Da die Parameter direkt im GET-Modus gesendet werden, kodiert der Browser die Parameter mit der URL-Kodierung, und die im Hintergrund erhaltenen Parameter sind:

So lösen Sie schnell die Anfrage von jQuery, verstümmelte chinesische Parameter zu übertragen

Wie Sie Sie können sehen, dass der empfangene Parameter verstümmelte Zeichen enthält. Also habe ich eine weitere Verarbeitung durchgeführt, also eine Transkodierung:

String center = new String(param.getBytes("iso8859-1"), "utf-8");

Auf diese Weise ist der empfangene Text chinesisch.

Dieser Ansatz meldete jedoch tatsächlich einen Fehler in der Testumgebung. Nach der Analyse der Ursache stellte ich fest, dass die Testumgebung das richtige Chinesisch erhielt, sich jedoch nach der Transkodierung als falsch herausstellte. Daher sollte die Lösung darin bestehen, die Seitenanforderung zu ändern. Da die durch die GET-Methode verursachten Parameter codiert sind, wird sie in POST-Anfrage geändert. Die POST-Anfrage übermittelt die Originaldaten:

var url = "${basePath}/institutionConfig/getDepartmentByCenter.do";
$.ajax({
  url: url,
  data: {"param": center},
  dataType: "json",
  type: "POST",
  success: function (data) {
   var list = data.data;
   for (var i = 0; i " + list[i] + "";
   }
   $("#accountDepartmentAdd").html(departmentSelector);
  }
 });

Ich glaube, Sie haben die Methode nach dem Lesen beherrscht Fall in diesem Artikel und mehr. Wie aufregend, achten Sie bitte auf andere verwandte Artikel auf der chinesischen PHP-Website!

Empfohlene Lektüre:

So verwenden Sie PHP, um das wiederholte Senden von Formularen zu verhindern

Anwendungsfallanalyse der CodeIgniter-Framework-Datenbank

Das obige ist der detaillierte Inhalt vonSo lösen Sie schnell die Anfrage von jQuery, verstümmelte chinesische Parameter zu übertragen. 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