您的位置:首页 > 移动开发 > Objective-C

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

2015-09-01 19:56 1151 查看
问题描述:

使用场景:使用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>


修改之后能成功访问
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: