【发布时间】:2015-04-29 14:27:39
【问题描述】:
我正在尝试学习 SPRING MVC + Jquery Ajax,但我在 ajax 成功时收到此错误,以下是我的代码配置
jQuery Ajax。
$.ajax({
type:"GET",
url:"" +attr.url +"",
contentType: "application/json",
success:function(response){
console.log("Response length",response.length);
},
error:function(e){
}
});
弹簧控制器
@RequestMapping(value ="/getList.htm", method= RequestMethod.GET)
public @ResponseBody List<SomeClass> _giveList(HttpServletResponse response) throws DaException{
List<SomeClass>someClass = iSomeClass.getData();
return someClass;
}
这个方法正在执行,我可以看到 someClass 的大小。 applicationContext.xml 中的 jackObjectMapper 配置
<bean id="jacksonObjectMapper" class="org.codehaus.jackson.map.ObjectMapper"></bean>
<bean id="jacksonMessageChanger" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes" value="application/json"/>
</bean>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean = "jacksonMessageChanger"/>
</list>
</property>
</bean>
jackson dependency in POM.xml
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.2.3</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
控制器方法正在执行,但是ajax请求没有响应。所以我没有看到ajax成功函数的控制台日志。 但是我收到了这个错误
此请求标识的资源只能生成具有根据请求“接受”标头不可接受的特征的响应。 我试图通过添加 headers = "application/json" 来解决这个问题。但没有运气。 任何帮助都将是真正可观的。
【问题讨论】:
-
Jquery 是前端,Spring MVC 是后端,它与那些框架无关。你返回一个名为
shoppingBrandMasters的东西,我似乎在你的控制器中找不到它。 . -
已更改返回类型。对不起那个错误。你可以抽出一些时间和谷歌 jquery ajax 和 SPRING MVC 通信
-
我的意思是,您的问题似乎归咎于 Jquery Ajax 或 Spring MVC,因为它不适用于其他问题。实际上它正在工作,这就是您收到错误响应的原因,但错误是由于用户代码中的问题造成的。
标签: jquery spring spring-mvc