使用jQuery.ajax加载本地XML文件是要注意的事情

http://zh.efreedom.com/Question/1-436670/AJAX-%E8%B0%83%E7%94%A8%E6%9C%AC%E5%9C%B0-html-%E6%96%87%E4%BB%B6%E5%92%8C-jQuery-%E6%82%B2%E5%93%80

出处

 

我工作的一个网站使用 jQuery 和一些 xml 文件的脱机版本。 我快 jQuery 的一个问题,当我这样做时对 xml 文件 jQuery 的 $.ajax 调用将引发一个错误。

当我的目光在错误时,我可以告诉其加载 XML 文件因为其错误的 responceText 属性中。它似乎在 Firefox 中就很好地工作。

这是我的呼叫的外观

$.ajax({ 
    type: "GET", 
    url: "Modules/" + ModuleID + "/ModuleContent.xml", 
    dataType: "xml", 
    success: function(x) { xml = x; ProcessXML(); }, 
    error: function(x) { alert(x.responceText); } 
}); 

当我在 web 服务器上运行这只是正常工作。 只当我运行它从文件及其自当我有这个问题。

任何想法如何可以在 IE 中使这项工作吗?

编辑: 我发现我的问题的答案。在这里

问题: Superdumbell
来自这个问题: stackoverflow.com

答案
  

从该业务方案公布答案的 链接

加载 XML 文件本地,例如一个光盘等时, 收到的互联网资源管理器中的数据不是纯文本的文本/xml。在这种情况下使用数据类型参数可以为文本,xml 文件加载和分析在概率函数返回的数据

 $.ajax({ 
   url: "data.xml", 
   dataType: ($.browser.msie) ? "text" : "xml", 
   success: function(data){ 
     var xml; 
     if (typeof data == "string") { 
       xml = new ActiveXObject("Microsoft.XMLDOM"); 
       xml.async = false; 
       xml.loadXML(data); 
     } else { 
       xml = data; 
     } 
     // Returned data available in object "xml" 
   } 
 }); 

这也为我工作。


from:  http://hi.baidu.com/ccwq/blog/item/99ac1e95c58860067af480c9.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值