gpt4 book ai didi

javascript - 使用 Javascript 中的 POST 方法在 Servlet 中获取 JSON 数据不起作用

转载 作者:行者123 更新时间:2023-12-01 19:30:35 26 4
gpt4 key购买 nike

我尝试获取 JSON 数据,将其从 Javascript 发送到我的 Java POST 方法。问题是,Servlet 中的数据始终为 NULL。

但是如果将数据写为:

data: {Aktion: '2'}

我在 Servlet 中获取了参数。只是 JSON 数组对我不起作用。

这是我的 JS 代码:

var jsonDate = {
Aktion : 2,
Emplid_MA: 11151154,
Userid_Meister : "acstoll",
Beurteilungsdatum: 2019-12-09,
Kriterium_1 : 1,
Kriterium_2 : 3,
Kriterium_3 : 1,
Kriterium_5 : 4,
Kriterium_6 : 3,
Kriterium_7: 2,
Einsatz_mehrere_Stationen : 1,
ausgefuehrte_Taetigkeiten : 1,
Weiterbeschaeftigung: 2,
Weiterbeschaeftigung_Verbesserung : "test"
}

var json = JSON.stringify(jsonDate);

$.ajax({
url : urlANUe + "Mitarbeiter_Einzel_Update",
dataType : "json",
method : "POST",
contentType : "application/json",
headers : {
"Accept" : "application/json"
},
data: {jsonDaten:json},
success : function(data) {
console.log("alle MA");
console.log(data);
},
error : function(xhr, status, text) {
console.log(xhr.statusText);
console.log(xhr.responseText);
}
});

这是我的 Servlet:

  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


Connection con = null;

response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.addHeader("Access-Control-Allow-Origin", "http://localhost:8080");
response.addHeader("Access-Control-Allow-Headers", "X-PINGOTHER, Origin, X-Requested-With, Content-Type, Accept");
response.addHeader("Access-Control-Max-Age", "1728000");
response.addHeader("Access-Control-Allow-Methods", "GET,PUT,POST,DELETE");

//This is always NULL
String jsonStr = request.getParameter("jsonDaten");


JSONObject jsonObj = new JSONObject(jsonStr);
String ak = jsonObj.getString("Aktion");


String Aktion = request.getParameter("Aktion");
[...]

}

最佳答案

看起来您正在传递“data: {jsonDaten:json}”。什么是 jsonDatan?只需正确传递 stringifed JSON 变量“json”即可。像这样:

**var json = JSON.stringify(jsonDate);

headers : {
"Accept" : "application/json"
},
data: json,

**

关于javascript - 使用 Javascript 中的 POST 方法在 Servlet 中获取 JSON 数据不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59262384/

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