【发布时间】:2012-12-07 19:46:11
【问题描述】:
我想将 3 个 JSON 传递给前端。我可以单独通过所有 3 个。我这样做是为了检查它是否正常工作。
我是这样做的:
response.getWriter().write(json.toString());
我在这里的一篇文章中读到,您可以创建一个 json 数组并将该数组发送到 Ajax 调用。
所以我尝试这样做:
String json = "["+ json1.toString() + "," + json2.toString() + "," + json3.toString() + "]";
response.getWriter().write(json.toString());
在房子的客户端:
$.ajax({
data: {param1: 'p1', param2: 'p2', param3: 'p3', param4: 'p'},
dataType: 'json',
url: './GetDataServlet',
type: 'POST',
success: function(data) {
var data1 = data[0];
var data2 = data[1];
var data3 = data[2];
$.each(data1 , function(i, val) {
$("#personal_data").append("<p> val.firstname </p>")
$("#personal_data").append("<p> val.lastname </p>")
)};
$.each(data2 , function(i, val) {
$("#department_data").append("<p> val.departmentid </p>")
$("#demartment_data").append("<p> val.departmentname </p>")
)};
//Not attaching the entire code, because it's quite long. :)
},
error: function() {
alert("An error occured while attempting fetch data.");
}
});
当您进行 $.ajax 调用时,如何将多个 JSON 传递给客户端。
谢谢,
【问题讨论】:
-
为什么不进行三个不同的调用或返回三个 json 对象的集合/数组?
-
您正在做的是订购三重 JSON 三明治。您要做的是订购三个 JSON 三明治。您的服务器将知道吃三个单独的 JSON 三明治的顺序,因为它知道您订购它们的顺序。
标签: javascript ajax json servlets