我在页面发送异步请求,后台对数据进行处理后返回json字符串,前台并没有进入到success或者error语句块,就直接显示了返回的json字符串。
异步请求:
jQuery.ajaxFileUpload({
secureuri:false,
type : 'POST',
url : 'web/contactsInfo/importExlSave',
fileElementId : 'excelFile',
dataType : 'json',
data : {
"projectId":${projectId}
},
success : function(data) {
if(data.state=='success') {
toastr.success("人员导入完成!","系统消息");
$('#modal').modal('hide');
$('#tab').bootstrapTable('refresh', {url: 'web/contactsInfo/contactsInfoList?projectId=${projectId}'});
} else {
toastr.error("人员导入出现异常!","系统消息");
}
},
error : function(data) {
toastr.error("系统发生异常!","系统消息");
}
});
请求的处理方法
public @ResponseBody Map<String,Object> importExlSave(MultipartFile excelFile,HttpServletRequest request,HttpServletResponse response){
String parameter = request.getParameter("projectId");
Map<String,Object> map = new HashMap<String,Object>();
map.put("state", "success");
map.put("message", "完成!");
return map;
}
关于将对象转成json字符串的配置
<!-- 返回json格式配置开始 -->
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
<!-- 解决Spring MVC返回json视图时,如何将对象直接序列化成不带变量名做为根节点的 json 报文
<bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
<property name="extractValueFromSingleKeyModel" value="true" />
</bean>
-->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list >
<ref bean="mappingJacksonHttpMessageConverter" />
</list>
</property>
</bean>
<!-- 返回json格式配置结束 -->
大概就是这样。
我提交请求后得到的响应是这样的:
跪求大神帮助
如果觉得我给的不够详细,可以提出来,我补充