{"flag":"true"}
昨天遇到一个问题,使用$.ajaxFileUpload插件发送请求获取返回信息,后台正常返回的数据是result:{"flag":"true"}这个样式的,但是在succese方法中获取的的返回data却是
result:<pre style="word-wrap: break-word; white-space: pre-wrap;">{"flag":"true"}</pre>这个样式的;
页面请求代码如下
$.ajaxFileUpload({
"url" : "url",
"secureuri" : false,
"fileElementId" : "groupLogo", //文件选择框的id属性
"dataType" : "text",
"success" : function(result){
if(result.flag == "true"){
alert("客服团队保存成功!");
}
},"error":function(){
alert("访问失败!请联系程序员哥哥!");
refreshPage();//调用default.jsp页面的刷新方法
}
});
java代码如下:
@RequestMapping(value="value")
@ResponseBody
public Map<String, Object> saveCSGroupInfo(HttpSession session,HttpServletResponse response)
Map<String, Object> resultMap = new HashMap<String, Object>();
String flag = "true";//标示客服组长是否有工作邮箱, true 成功执行,email 团队负责人没有邮箱,bind 客服绑定坐席
resultMap.put("flag", flag);
returnresultMap;
}
后来查看了一下,ajaxfileupload的源码,
才知道,ajaxfileupload是不解析json的;
所以需要在success方法中添加result = $.parseJSON(result.replace(/<.*?>/ig,""));这样一段代码就可以解决了。