阿贾克斯电话
$.ajax({
url : URL_SERVER + "SucheMitarbeiter",
type : "GET",
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
data : {
userid : setzeUserId,
nachname : nachname,
vorname : vorname,
kim : "",
pnr : ""
},
cache : false,
[...]
这是对我的Servlet的请求
Request URL: http://localhost:8080/TrackingToolDB/SucheMitarbeiter?userid=BKOUBIK&nachname=sch%C3%B6nleber&vorname=&kim=&pnr=&fk
如您所见,Nachname未编码为UTF-8。
在我名为Servlet的Servlet中,我尝试对请求进行解码:
String encoding = request.getCharacterEncoding();
if (encoding == null) encoding = "UTF-8";
String nachname = request.getParameter("nachname");
nachname = URLDecoder.decode(nachname,encoding);
但这行不通。我总是
舍恩贝尔
代替
Schönleber
最佳答案
将contentType
设置为ajax请求的一部分只会告诉接收服务器您要发送的内容,它不会改变数据-您需要先将其传递给适当的编码函数。
您可能会发现此链接有用:MDN