后台传递:
public void f(HttpServletResponse response) {
// .....
// AList = ['11', '22', '33'];
// BList = [{'11', 11}, {'22', 22}, {'33', 33}];
//将要传递的数据包装成一个个的list
Map map = new HashMap();
map.put("AList", AList);
map.put("BList", Blist);
//将map转成一个json对象
JSONObject frontSend = JSONObject.parseObject(JSON.toJSONString(map));
//设置字体
response.setCharacterEncoding("UTF-8");
try {
response.getWriter().println(frontSend );
} catch (IOException e) {
e.printStackTrace();
}
}
前台接受:
// ...
success : function (result) {
var resultJson = eval('(' + result+ ')');
var AList = resultJson.AList;
var BList = resultJson.BList;
console.log(AList);
console.log(BList);
// ...
}
这时候发现能成功打出AList:['11', '22', '33'],但是打出的BList却为[object object][object object][object object]。
试过多种方法,都转化失败。
最终将取得的BList每个object拆开,再重组一个object,就可以了,原理不知==!
代码如下:
var obj = null;
for (var i = 0;i < BList.length;i++) {
if (obj == null) {
obj = Object.assign(BList[i]);
} else {
obj = Object.assign(obj, BList[i]);
}
}
return obj;