前端代碼:
$("#ocrform").ajaxSubmit({ url: '<c:url value='/loanapply/applyerOcrCheckUpload.html'/>', type: "POST", dataType:"json", contentType: "application/x-www-form-urlencoded; charset=utf-8", async: false, success: function (data) { if(data!=null && data.cardName && data.idnum){ $("#name").val(data.cardName); $("#certNo").val(data.idnum); }else{ alert("<fmt:message key='image.identify.fail' />"); } }, error:function(e){ //console.log(e); } })
后端返回json數據的時候,剛開始設置了response.setContentType("application/json;charset=utf-8");,其他瀏覽器都可以,但是ie8瀏覽器會彈出如下框

后來沒辦法,嘗試了網上的說法,將response.setContentType("application/json;charset=utf-8");,改為response.setContentType("text/ html;charset=UTF-8");,
但是ajax跳轉到了error,大致說我返回的不是json數據,
最終,將response.setContentType("text/ html;charset=UTF-8");改為response.setContentType("text/ json;charset=UTF-8");就好了
總結:ie8瀏覽器不支持application/json;,所以,如果要兼容ie8瀏覽器,還是寫成response.setContentType("text/ json;charset=UTF-8");吧,
友情提示:utf-8一定要設置,否則,ajax返回json數據,前台獲取ie8瀏覽器可能會出現亂碼
特此記錄我的心酸歷程!
