springMVC接收ajaxfileupload提交数据不执行success回调的问题解决

2023-11-10

采用ajaxfileupload插件提交表单,前端js写法如下:

 

$.ajaxFileUpload({
		url:"${base}/submit/ajaxfileupload.do",
		secureuri:false,
		fileElementId:"uploadFile",//file标签的id
		dataType: "json",
		data:{"fileName":$("#fileName").val()},
		success: function (result,a,b){
			var fileName = result.msg;
			alert(fileName);

		} 
	});


可是无论如何页面都没有反应,也没有报错,用firebug查看也能查到返回的json数据。后来加上了error回调:

 

error:function(data,status,e){  
         alert(e);  
    } 

加上后,调用总是进入到error的回调函数中,提示:SyntaxError: expected expression, got end of script,网上查找资料也没查出问题原因,于是查看ajaxfileupload的代码,并跟踪断点,发现,返回的并不是json数据,而是html数据

 

<div id="json"><span class="collapser"></span>{
                <ul class="obj collapsible">
                     <li><span class="prop" title="<root>.msg"><span class="q">"</span>msg<span class="q">"</span></span>: <span class="string">""</span></li>
                </ul>}</div>


经过浏览器解析后,是json的html的页面形式,问题找到了,可是什么原因导致的呢,经过查找,在springMVC的xml的配置文件中,添加如下配置,问题解决。

 

 

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
		<property name="messageConverters">
			<list>
				<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
					<property name="supportedMediaTypes">
						<list>
							<value>text/html;charset=UTF-8</value>
						</list>
					</property>
				</bean>
			</list>
		</property>
	</bean>

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

springMVC接收ajaxfileupload提交数据不执行success回调的问题解决 的相关文章

随机推荐