Tôi đang sử dụng mvc 4 mùa xuân và cố gắng trả về một đơn giản map
thành ajax - từ bộ điều khiển của tôi sang tệp jsp.Trả về một cấu trúc bản đồ đơn giản từ bộ điều khiển mvc mùa xuân đến ajax
Bộ điều khiển:
@RequestMapping(value = "/ajaxtest", method = RequestMethod.GET)
public @ResponseBody
Map<String, String> myTest() {
System.out.println("------------------------------------test");
Map<String,String> myMap = new HashMap<String, String>();
myMap.put("a", "1");
myMap.put("b", "2");
return myMap;
}
Ajax từ file jsp:
function testAjax() {
$.ajax({
url : '../../ajaxtest.html',
dataType: "json",
contentType: "application/json;charset=utf-8",
success : function(data) {
alert("1");
alert(data);
}
});
}
Nhưng tôi không nhận được bất kỳ cảnh báo nhưng chỉ là lỗi HTTP/1.1 406 Not Acceptable
.
Tuy nhiên, việc thay đổi mã để trả lại chuỗi đơn giản hoạt động tốt. Bộ điều khiển:
@RequestMapping(value = "/ajaxtest", method = RequestMethod.GET)
public @ResponseBody
String myTest() {
System.out.println("------------------------------------test");
return "hello";
}
Ajax:
function testAjax() {
$.ajax({
url : '../../ajaxtest.html',
success : function(data) {
alert("1");
alert(data);
}
});
}
động thông báo 1
và hello
từ ajax như mong đợi.
tôi đã thêm các tập tin jar jackson như mong đợi (bởi pom.xml):
dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.5.1</version>
</dependency>
Am tôi thiếu cái gì? Tôi chỉ muốn trả về một cấu trúc ánh xạ đơn giản (hoặc cấu trúc lớp khác trong tương lai).
Cập nhật: Từ giao diện điều khiển mùa xuân (Không chắc chắn rằng nó có liên quan): Resolving exception from handler [null]: org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
Cảm ơn trước! Mike
Đã thêm '@RequestMapping (value ="/ajaxtest ", method = RequestMethod.GET, tiêu thụ =" application/json ", tạo = {" application/json "})' nhưng không giải quyết được sự cố ... – Mike