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

posted @   qiang.xu  阅读(440)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示