У меня есть контроллер rest при весенней загрузке, который возвращает хеш-карту, где ключ - целое число, а значение - строка. Моя проблема в том, что мне нужно показать эти значения внутри страницы, используя jquery, но я не знаю,как получить доступ к этим значениям из этой карты :( Вот контроллер:
@RequestMapping(value = "/send", method = RequestMethod.GET)
@ResponseBody
public Map sendMoney(@RequestParam String email, @RequestParam int money) {
User user = userRepository.findByEmail(email);
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
User loggedInUser = userRepository.findByEmail(auth.getName());
Map<Integer,String> returnedValues = new HashMap<>();
returnedValues.put(loggedInUser.getTotalMoney(), "Something went wrong");
String message = "";
if (money < 1) {
returnedValues.put(loggedInUser.getTotalMoney(), "You can't send 0 money");
return returnedValues;
}
if (user == null) {
returnedValues.put(loggedInUser.getTotalMoney(), "This user doesn't exist");
return returnedValues;
}
if (user != null && money >= 1) {
if (!email.equals(auth.getName()) && money >= 1) {
if (money > loggedInUser.getTotalMoney()) {
returnedValues.put(loggedInUser.getTotalMoney(), "You can't send that much money");
return returnedValues;
} else {
loggedInUser.setTotalMoney(loggedInUser.getTotalMoney()-money);
user.setTotalMoney(user.getTotalMoney() + money);
userRepository.save(user);
userRepository.save(loggedInUser);
returnedValues.put(loggedInUser.getTotalMoney(), "Money sent successfully");
return returnedValues;
}
}
}
return returnedValues;
}
JQuery:
function ajaxPost(){
$.ajax({
type: "GET",
url: "/send",
contentType: 'application/json',
data: {
'email': $('#email').val(),
'money': $('#money').val(),
},
success: function(data) {
console.log("SUCCES");
console.log(data);
$('.currentBalance').text(data[0]);
$('#response').append('<h3>' + data[1] + '</h3>');
},
error : function(e) {
alert("Error!")
console.log("ERROR: ", e);
}
});
}
Итак, console.log (data) -> показывает карту хеша вКонсоль, как это:
{2165: "Money sent successfully", 2167: "Something went wrong"}
Как я могу получить доступ к ключу и значению этого объекта? Я пробовал с данными [0] и другими подобными комбинациями, и это действительно не сработало: (
Моя html-страница имеет тег h3:
<h3 class="currentBalance" th:text="'Your current balance is: ' + ${money}"></h3>
Итак, используя jquery, я должен изменить текст из currentBalance на текст, полученный из hashMap. Я попытался сделать это:
$('.currentBalance').text(data[0]);
Но данные [0] не работают: (