如何通过jquery获取方法传递json数组/对象?
?到目前为止,这是我的代码:
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
,因此请求正文中不可用(因为它们在发布请求中(。