json返回值存在
的解决方法
https://blog.csdn.net/u013032615/article/details/62891738原文:http://blog.csdn.net/u014639561/article/details/50501665
昨天遇到一个问题,使用$.ajaxFileUpload插件发送请求获取返回信息,后台正常返回的数据是result:{"flag":"true"}这个样式的,但是在succese方法中获取的的返回data却是
result:<pre style="word-wrap: break-word; white-space: pre-wrap;">{"flag":"true"}</pre>这个样式的;
页面请求代码如下
$.ajaxFileUpload({undefined
"url" : "url",
"secureuri" : false,
"fileElementId" : "groupLogo", //文件选择框的id属性
"dataType" : "text",
"success" : function(result){undefined
if(result.flag == "true"){undefined
alert("客服团队保存成功!");
}
},"error":function(){undefined
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);
return resultMap;
}
后来查看了一下,ajaxfileupload的源码,
才知道,ajaxfileupload是不解析json的;
所以需要在success方法中添加result = $.parseJSON(result.replace(/<.*?>/ig,""));这样一段代码就可以解决了。
希望对大家会有帮助。