json返回值存在<pre style="word-wrap: break-word; white-space: pre-wrap;">的解決方法
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,""));這樣一段程式碼就可以解決了。
希望對大家會有幫助。