jQuery ie xml的问题 jQuery在IE中解释XML要注意的问题

jQuery ie xml的问题 jQuery在IE中解释XML要注意的问题

 


 

jQuery在IE中解释XML要注意的问题:
不管在写哪种  Web   介面的程式,都要特別重视 Content-Type 的设定,无论是 text/html , text/plain , text/xml 对于浏览器 来说,都是不同的意一的,处理的方式也有可能不一样,当你使用越符合网络 标准的方法来写程序 ,相对的出问题的几率也会越小 (当然有例外)。
Web Service 是用 HTTP Handler 写的,而我在程序中所指定的 Response.ContentType 是 "text/plain",当我改成 "text/xml" 之后,所有程式就可以在 IE7 下正确执行了!
另外提及一点,在使用 jQuery.post( url, data, callback, type ) 方法开发 时,这个方法的最后一个参数 type 指的是返回资料的类型,其中包括有 "xml", "html", "script", "json", "jsonp", 与 "text" 等,即便你手动修改成 "xml" 而你的 Web Service 回应的资料所设定的 Content-Type 不是 text/xml 的话,在 IE 浏览器里一样是无法运行的,甚至会造成  Java Script 执行错误。当不指定 type 参数时,预设 jQuery 会聪明的自动 判断回应的 Content-Type 自动判断解析 的资料类型
页面   getTc.jsp 输出XML:

<Root>
      <Succeed>200</Succeed>
      <Tc>***********</Tc>
</Root> 


页面 showTc.jsp 回显Tc中的变量。

<script>
     $.get
     (
            "getTc.jsp?account=*****",
            function ( xml ){
                    alert( $( "Tc" , xml ).text() );
            }
     );
</script> 


FIREFOX中显示正常,可以取到TC的值,
而IE中能取到XML的值

<Root>
      <Succeed>200</Succeed>
      <Tc>***********</Tc>
</Root> 


但是无法显示$("Tc",xml).text();
原因是在getTc.jsp页面中有这么一句
<%@ page contentType="text/html; charset=gbk"%>
改成
<%@ page contentType="text/xml; charset=gbk"%>
就好了
原来在IE中,只要不写contentType = "text/xml"
jQuery都不会按XML格式来处理数据
而FireFox则兼容 text/html text/xml

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值