Java servlet没有将JSON对象返回给jquery ajax

时间:2017-08-01 02:35:03

标签: java json ajax servlets

我使用JSP和servlet构建web。我编写JSP来使用jquery ajax从Servlet获取数据,jquery ajax返回JSON类型。但是当我试图将servlet响应数据转换为JSON并尝试使用console.log在ajax成功时进行日志记录时,它没有返回JSON对象。

我正在使用org.json.simple.JSONObject库进行转换。

这是我的jquery代码:

$.ajax({
    url : BASEPATH + 'load',
    type : 'get',
    success : function(response) {
        console.log(response);
    },
    error : function(response) {
        alert('error');
    }
});

这是我的servlet代码:

import org.json.simple.JSONObject;

public class SourceSystemServlet extends HttpServlet
{
    JSONObject resp = new JSONObject();

    public SourceSystemServlet()
    {
        super();
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        int code = 0;
        String message = "";

        code = 200;
        message = "Success";

        resp.put("code", code);
        resp.put("message", message);
        response.setContentType("application/json");
        response.getWriter().write(resp.toString());
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
    {
        doPost(req, resp);
    }
}

我想得到像这样的数据JSON对象:

enter image description here

但我得到的是这样的数据字符串,所以我不能使用响应作为记录对象,即console.log(response.code):

enter image description here

我希望有人可以帮助我,谢谢。

1 个答案:

答案 0 :(得分:0)

我想你可以尝试resp.toJSONString()而不是resp.toString()