javascript - 通过 Jquery GET 调用将 JSON 对象传递给 Java Servlet
问题描述
如何使用 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 请求中一样)。
推荐阅读
- java - Spring Boot 和 HTML 所需的方法参数类型字符串的请求参数“Coord1”不存在]
- angular - 如何在 MatTabChange 事件之前调用函数?
- c# - 如何使用自定义参数调用 ASP.NET DropdownList SelectedIndexChanged 事件处理程序
- layout - Typo3:布局 Onepager 存在不同的子页面和后端布局
- node.js - 如何在议程的工作中停止执行功能?
- ruby - 有没有办法使用 ActiveModel Serializer 序列化父级之外的嵌套属性?
- pandas - Apache Beam 到 Pandas 数据框
- mobile - Google Analytics(分析)设备型号排名显示 Chrome 首次出现
- google-cloud-platform - 带 IAP 的 GCP 负载均衡器
- asp.net-core - KSQLDB asp.net 核心