将对象转换为json
后,如何将数据发送到ajax调用?
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/plain");
PrintWriter writer = response.getWriter();
LinkedList list = new LinkedList();
list.add("first");
list.add("second");
list.add("third");
Gson gson = new Gson();
gson.toJson(list);
writer.println("From servlet");
}
的Ajax:
$.ajax( {
url : 'http://localhost:8081/Football/SendToAjax',
type : 'GET'
})
.done(function(message) {
alert(message);
}).
fail(function(message) {
alert(message);
});
答案 0 :(得分:2)
回写gson.toJson()返回的String。此外,您可以在回复中设置正确的内容类型。
String out = gson.toJson(list);
response.setContentType("application/json");
writer.println(out);
答案 1 :(得分:1)
你也可以用JSONObject编写如下
JSONObject json = new JSONObject();
json.put("list", list);
writer = response.getWriter();
writer.println(json.toString());
然后你可以在你的函数中使用它在ajax中:
$.ajax({
type: 'GET',
url: urlPath,
dataType : "json",
success: function(message){// message is returned message that was written in json
// use data as message[0]
for(i = 0; i <message.length; i++){
alert(message[i]);
}
}
}
);
答案 2 :(得分:1)
在ajax中使用dataType:"json",
$.ajax( {
url : 'http://localhost:8081/Football/SendToAjax',
type : 'GET',
dataType:"json"
})
.done(function(message) {
alert(message);
}).
fail(function(message) {
alert(message);
});
在servlet中
JSONObject object = new JSONObject();
object.accumulate("list", list);