Introduction: In jquery Ajax POST request, the request, the Chinese in the background, the display as garbled, how to solve it?
Introduction of the problem:
var Regid = $ (' #oregion '). ComboBox (' GetValue ');
var sname = $ (' #sname '). Val ();
var sname = encodeURI ($ (' #sname '). Val (), "UTF-8");
if (regid!= "" &®id!= ' undefined ') {
$.ajax ({
Async:true,
Type: "POST",
DataType: "JSON",
URL: "<%=request.getcontextpath ()%>/secretary/ishasuser.do?regid=" +regid+ "&sname=" +sname,
Success:function (data) {
if (data.mes!= "" &&data.mes!=null) {
$.messager.alert (' Warning ', data.mes);
return false;
}
}
});
}
}
The above code in Ff/chrome, can be normal delivery of Chinese, but under IE, there is a problem, in the background output information is garbled.
Problem attempts:
1. Set the ContentType: "Text/plain; Charset=utf-8 ", the problem still exists
2. Recheck the JSP page where the AJAX code is located, all using Utf-8, but the problem persists
3. In Java code in the background, forced to use Utf-8, GBK, gb2312 encoding conversion, the problem persists
It is analyzed that it may be related to the content transmission in the browser or jquery, and it cannot be accurately determined at this time.
The solution:
Previous paragraph: encodeURI ($ (DOM). Val (), "UTF-8"); Encode using encodeURI
Back-end Java code:
Urldecoder.decode (Inputstr, "UTF-8"): The back-end code decodes the string passed over the previous paragraph.
Summarize:
In the end, you can display the Chinese language correctly for the string information passed over the Ajax POST request.
JQuery POST Request garbled ...