我使用 Spring 作为后端,使用 Ajax 来获取和发布数据。在我的控制器中,我返回 HashMap 。一切都很好。但是当我在javascript文件中接收数据时,数据顺序正在发生变化。我做错了什么?
例如,当我发送
时map.put("name","aaa");
map.put("name","bbb");
map.put("name","ccc");
在js文件中我获得了不同的顺序,如ccc,aaa,bbb。更改的订单始终相同。它不是随机的。
以下是我正在使用的一些代码。
控制器
@RequestMapping(value = "/history", method = RequestMethod.GET)
public @ResponseBody Map<String, myModel> getHistory() {
Map<String, ChatModel> userInfo = md.getUserInfo(userId);
return userInfo;
}
获取方法
$.ajax({
contentType: "application/json;charset=utf-8",
type : "GET",
url : "../Spring4MVCHelloWord/history/",
dataType : 'json',
success: function(data){
displayHistory(data);
},
error: function(xhr, status, error) {
console.log(xhr);
}
});
答案 0 :(得分:1)
尝试使用 LinkedHashMap
。 LinkedHashMap
将按照条目放入地图的顺序进行迭代。如果性能是您想要的,并且您可以取消订购,那么请使用HashMap。