gpt4 book ai didi

如果我通过 Ajax 调用发送数据到 Servlet,Javascript UTF-8 编码不起作用

转载 作者:行者123 更新时间:2023-12-02 06:18:42 24 4
gpt4 key购买 nike

Ajax 调用

  $.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。

在我的名为 SucheMitarbeiter 的 Servlet 中,我尝试解码请求:

String encoding = request.getCharacterEncoding();
if (encoding == null) encoding = "UTF-8";

String nachname = request.getParameter("nachname");


nachname = URLDecoder.decode(nachname,encoding);

但是这不起作用。我总是得到

schönleber instead of schönleber

最佳答案

contentType 设置为 ajax 请求的一部分只是告诉接收服务器您打算发送什么,它不会改变您的数据 - 您需要通过适当的编码函数传递它首先。

您可能会发现此链接很有用:MDN

关于如果我通过 Ajax 调用发送数据到 Servlet,Javascript UTF-8 编码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55849099/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com