springmvc中 ajax请求错误,返回406,并一直进入error的回调方法,以及返回参数为Object

本文介绍了解决使用SpringMVC框架时遇到的AJAX请求406错误的方法,包括调整配置文件以支持JSON数据传输,并确保前后端交互正确。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:   

 使用场景使用srpingmvc框架,使用AJAX请求发生错误,

 出现以下问题

1、访问后台url,前台提示406 错误

2、ajax方法中,一直进入error的回调方法中,不会进入success回调中,

3、返回的类型,一直是object,而不是json。


贴上我的ajax请求。

<span style="white-space:pre">		</span>$.ajax({
			type : "POST",
			url : "search",
			data : data,
			dataType : "json",
			contentType : 'application/x-www-form-urlencoded; charset=UTF-8',
			success : function(value) {
				var p = $("<p class='lead' id='context'>" + value 
						+ "</p>");
				$("#content").prepend(p);
			},
			error : function(json) {
				alert("出错了。。。");
			}

		<span style="white-space:pre">	</span>})


仔细检查了代码,没有写错。。

通过搜索,发现仍然是spring的配置文件存在错误,在前后太交互的同时,传输的格式并没有定义成json


更改配置文件

</bean>
		<bean id="exceptionHandlerExceptionResolver"
		class="org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver">
		<property name="messageConverters">
			<list>
				<bean
					class="org.springframework.http.converter.ByteArrayHttpMessageConverter" />
				<bean id="mappingJacksonHttpMessageConverter"
					class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
					<property name="supportedMediaTypes">
						<list>
							<value>application/json;charset=UTF-8</value>
							<value>text/html;charset=UTF-8</value>
						</list>
					</property>
					<property name="objectMapper">
						<bean class="com.fasterxml.jackson.databind.ObjectMapper">
							<property name="serializationInclusion">
								<value type="com.fasterxml.jackson.annotation.JsonInclude$Include">NON_NULL</value>
							</property>
						</bean>
					</property>
				</bean>
			</list>
		</property>
	</bean>

PS:配置文件中有一个jackson的包需要下载,所以在pom文件中添加一个新的依赖



<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.4.0</version>
		</dependency>

修改之后能成功访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值