IE这个大坑之细数遇到的坑

2 篇文章 0 订阅
1 篇文章 0 订阅

前言:

最近项目上遇到必须调用IE的情况,所以就和IE浏览器接触了那么段时间,本人使用的是IE8,这段时间遇到的坑真是恶心啊,一个一个解决问题很是头疼,为了以后不至于忘记,也为了大伙不头疼,故写博客记录记录。


遇到的第一个坑:

IE浏览器下输入地址如:http://localhost/xx/getJson.do获取json数据,这时弹出下载窗口,其他浏览器测试竟然是正常的json数据。

解决办法:

修改服务器响应头:Content-Type:text/html;charset=UTF-8

Java代码: response.setContentType("text/html;charset=UTF-8");


如果之前是application/json就会弹出下载窗口

如果使用springmvc返回json的话可以做如下设置:

<mvc:annotation-driven>        
        <mvc:message-converters>    
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">    
                <property name="supportedMediaTypes">    
                    <list>                          
                        <value>text/html;charset=UTF-8</value><!-- 避免IE出现下载JSON文件的情况 -->    
                    </list>    
                </property>    
                <property name="objectMapper">    
                    <bean class="com.fasterxml.jackson.databind.ObjectMapper">  
                        <!-- 处理responseBody 里面日期类型 -->    
                        <property name="dateFormat">    
                            <bean class="java.text.SimpleDateFormat">    
                                <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss" />    
                            </bean>    
                        </property>   
                        <!-- 为null字段时不显示 -->  
                        <property name="serializationInclusion">  
                            <value type="com.fasterxml.jackson.annotation.JsonInclude.Include">NON_NULL</value>  
                        </property>   
                    </bean>    
                </property>    
            </bean>    
        </mvc:message-converters>    
</mvc:annotation-driven>  


遇到的第二个坑:

IE浏览器上调用JQ的ajax进行请求接口获取json数据的时候,其他浏览器明明可以正常弹出我预计的数据,但是IE这老哥子就是不显示,调来调去都没有显示,后来仔细看,IE给出了错误消息:缺少标识符,字符串或数字 URI: http://localhost:8080/XXXX/XXXX

解决办法:

在IE中,script的方法或者ajax中最后一项的末尾是不允许有逗号的,在其他浏览器下则可有可无。检查一下有逗号就去掉就好了。

比如:
$("#browser").treeview({
animated: "fast",
control:"#sidetreecontrol",
});

或者:

 $.ajax({
url : 'xxxx.do?method=xxxx',
type : "GET",
dataType : "json",
async : false,
cache:false,
success : function(data) {
var json = eval(data);
alert("22222");
},
}); 

Java代码:

[java]  view plain  copy
 print ?
  1. resp.setContentType("text/html;charset=UTF-8");  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值