關于spring MVC 的ajax請求
今天在使用spring MVC 的時候遇到了一個ajax請求的問題。
我的背景方法是
@RequestMapping("/XXXX/{XXX}")
@ResponseBody
public boolean XXXXX(@PathVariable String xxx,··) {return ···}
前台ajax的請求是
$.ajax({
url: "/XXXX/XXX",
type: "GET",
success: function (data) {
alert(data);
}
}
在servlet.xml配置中使用了 來啟用spring的注解方式。不使用@ResponseBody的話,一般來說這個方式應該沒啥問題。
然而!!沒有想象中的那麼好用!!
在請求@ResponseBody标記的這個方法的時候 一直是406!! 打開debug 發現有一個資訊是
Could not find acceptable representation 說是要需要轉化成json格式。然而我并不知道需要在哪裡轉。。
好吧,百度了一下。springmvc+json 這個文檔告訴我讓我在 加東西。
text/html;charset=UTF-8
我就加了。。後來發現就真的好用了。
難道是缺少json轉換器?需要指定json轉換器 按道理來說不應該啊。以前都是好用的。繼續查!!
呵呵 原來預設使用的是jackson的json轉換器。。org.springframework.http.converter.json.MappingJackson2HttpMessageConverter。就是因為沒有在maven中引用jackson的jar包 導緻預設的值不能使用。。。(我真沒想到是在這裡使用了的)讓我哭會兒。