我正在使用 jsp 和 servlet 构建 Web 应用程序,我从 jsp 发送 ajax 请求,我想从 servlet 返回两个 json 对象。我尝试执行以下操作,但代码不起作用。
//在 jquery 中我写了这段代码
var id = $(this).attr('id');
var paramenters = {"param":id};
$.getJSON("MyServlet", paramenters, function (data1,data2){
$("h3#name").text(data1["name"]);
$("span#level").text(data1["level"]);
$("span#college").text(data2["college"]);
$("span#department").text(data2["department"]);
});
//在servlet中我写了这段代码
String json1 = new Gson().toJson(object1);
String json2 = new Gson().toJson(object2);
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
response.getWriter().write(json1);
response.getWriter().write(json2);
有人可以帮帮我吗???
最佳答案
你应该这样做:
服务器端:
String json1 = new Gson().toJson(object1);
String json2 = new Gson().toJson(object2);
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
String bothJson = "["+json1+","+json2+"]"; //Put both objects in an array of 2 elements
response.getWriter().write(bothJson);
客户端:
$.getJSON("MyServlet", paramenters, function (data){
var data1=data[0], data2=data[1]; //We get both data1 and data2 from the array
$("h3#name").text(data1["name"]);
$("span#level").text(data1["level"]);
$("span#college").text(data2["college"]);
$("span#department").text(data2["department"]);
});
希望这对您有所帮助。干杯
关于java - 如何使用一个ajax请求从java servlet返回多个json对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5923638/