我使用 Spring 作为后端,并使用 Ajax 来获取和发布数据。在我的 Controller 中,我返回HashMap。一切正常。但是当我收到 javascript 文件中的数据时,数据顺序正在改变。我做错了什么?
例如当我发送时
map.put("name","aaa");
map.put("name","bbb");
map.put("name","ccc");
在 js 文件中,我得到不同的顺序,如 ccc、aaa、bbb。更改后的顺序始终相同。它不是随机的。
这是我正在使用的一些代码。
Controller
@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);
}
});
最佳答案
尝试使用 LinkedHashMap
代替。 LinkedHashMap
将按照条目放入映射中的顺序进行迭代。如果您想要性能并且可以取消排序,那么就选择 HashMap。
关于javascript - Ajax Post发送HashMap时返回值顺序发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44644822/