jQuery发布请求返回空数据

时间:2020-01-27 20:07:37

标签: jquery ajax servlets

我一直在使用Java servlet和jquery从事电影项目,到目前为止一直做得很好。 昨天,一切正常,但是今天我无法对Servlet运行一个重要的发布请求,可以触发它,但无法读取返回数据的值... 这是发布请求

getProjection : function(ID) {
            params = {
                    'action': 'getProjection',
                    'id': ID
            };
            $.post('ProjectionsServlet', params, function(data) {

                console.log(data); //this is empty

            });

        }

这是我的处理请求的servlet

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

        String action = request.getParameter("action");

        try {
            switch(action) {
                case "add": {
                    break;
                }
                case "getProjection": {
                    Integer id = Integer.parseInt(request.getParameter("id"));
                    Projection projection = ProjectionDAO.get(id);
                    Map<String, Object> data = new HashMap<>();
                    data.put("projection", projection);
                    ObjectMapper mapper = new ObjectMapper();
                    String jsonDataProjection = mapper.writeValueAsString(data);

                    //I printed jsonDataProjection here and it returns the object

                    response.setContentType("application/json");
                    response.getWriter().write(jsonDataProjection);
                }

            }
        }catch (Exception ex) {
            ex.printStackTrace();
        }
    }

我对实体电影的调用完全相同,效果很好,实际上项目中的所有内容都可以正常运行,仅此一个调用即可。我敢肯定这是一个明显的错误,但我似乎找不到。

1 个答案:

答案 0 :(得分:0)

我通过在get方法中将其移至新的servlet来解决了这个问题,但仍然不知道为什么它不起作用