ie 8不支持 application/json问题

前端代码:

$("#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浏览器可能会出现乱码

特此记录我的心酸历程!

posted @ 2019-09-20 17:15  求学者s  阅读(955)  评论(0编辑  收藏  举报