Javascript 返回值顺序是在Ajax Post中发送HashMap时更改的
我使用Spring作为后端,使用Ajax获取和发布数据。在我的控制器中,我返回HashMap。一切正常。但当我在javascript文件中接收数据时,数据顺序正在改变。我做错了什么 例如,当我发送Javascript 返回值顺序是在Ajax Post中发送HashMap时更改的,javascript,java,ajax,spring,Javascript,Java,Ajax,Spring,我使用Spring作为后端,使用Ajax获取和发布数据。在我的控制器中,我返回HashMap。一切正常。但当我在javascript文件中接收数据时,数据顺序正在改变。我做错了什么 例如,当我发送 map.put("name","aaa"); map.put("name","bbb"); map.put("name","ccc"); 在js文件中,我得到不同的顺序,如ccc、aaa、bbb。改变的顺序总是一样的。这不是随机的 下面是我正在使用的一些代码 控制器 @RequestMapping(
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;
}
试着改用LinkedHashMap。
LinkedHashMap
将按照条目放入映射的顺序进行迭代。如果性能是您想要的,并且您可以取消排序,那么可以使用HashMap
$.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);
}
});