如何使用 JQUERY get 方法将 JSON 数组/对象传递给我的 Java Servlet?
到目前为止,这是我的代码:
var json = {
MA_ID : $("#emplID").val(),
MA_Nachname : $("#nachname").val()
}
$.get(url + "/MA_Update", json)
[...]
MA_Update.java
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
StringBuffer jb = new StringBuffer();
String line = null;
BufferedReader reader = request.getReader();
while ((line = reader.readLine()) != null) {
jb.append(line);
}
try {
JSONObject jsonObject = HTTP.toJSONObject(jb.toString());
System.out.println(jsonObject);
} catch (JSONException e) {
// crash and burn
throw new IOException("Error parsing JSON request string");
}
}
但我只得到
{"Request-URI":"","Method":"","HTTP-Version":""}
根据我的要求
最佳答案
不要使用request.getReader()
,使用request.getParameter("MA_ID")
等,或者request.getParameterMap()
>(并迭代它)。
问题是,$.get(url, jsObject)
创建了一个 HTTP GET 请求,其中 jsObject 的字段被转换为查询参数,即 http://your .server.com/MA_Update?MA_ID=someID&MA_Nachname=SomeLastName
,因此它们在请求正文中不可用(因为它们在 POST 请求中)。
关于javascript - 通过 Jquery GET 调用将 JSON 对象传递给 Java Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57369944/