从Servlet返回JSON

时间:2018-04-21 16:58:20

标签: javascript java ajax servlets

如何从Servlet返回JSON? 这是我的代码,但有些东西不起作用,我认为我在JS代码中犯了错误,但我不知道如何纠正它。

这是servlet

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

    String enduser = ls.ReturnEndUser();

    Utente user = ls.getUserByUsername(enduser); 
    String json = new Gson().toJson(user);
    System.out.println("il JSON è " + json);
    response.setContentType("application/json");
    response.setCharacterEncoding("UTF-8");
    response.getWriter().write(json);

}

JS

$.get("UserServlet", function (response) {                                                                                      
document.getElementById("endusername").innerHTML = utente.nome;        
});

这是Utente对象

public Utente(String username, String nome, String cognome, String email, String password, int gruppo1, int gruppo2, int gruppo3, int gruppo4, int gruppo5,String img_src) {
    this.id_utente = id_utente;
    this.username = username;
    this.nome = nome;
    this.cognome = cognome;
    this.email = email;
    this.password = password;
    this.gruppo1 = gruppo1;
    this.gruppo2 = gruppo2;
    this.gruppo3 = gruppo3;
    this.gruppo4 = gruppo4;
    this.gruppo5 = gruppo5;
    this.img_src= img_src;
}

1 个答案:

答案 0 :(得分:-2)

$.get("UserServlet", function (response) {                                                                                      
  document.getElementById("endusername").innerHTML = utente.nome;        
});

我相信你只想设置字段' endusername'与utente.nome。所以,你在这里不需要innerHTML。

document.getElementById("endusername").innerHTML

应该是

document.getElementById("endusername").value

PS对语法不太好。