通过json对象通过jQuery呼叫Java Servlet



如何通过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,因此请求正文中不可用(因为它们在发布请求中(。

最新更新