jquery请求本地xml无法执行回调问题

  在csdn看到一个问题,挺有代表性的,也给了我个人的回复,转到我的博客来,O(∩_∩)O~。

问题描述

html里的ajax代码如下:

$.get('figures.xml', function(data) {
var $entry=$(data).find("entry:eq(0)");
var $text=$entry.find('name').text();
alert($text);
});


figures.xml代码如下:
<entries>
<entry>
<name>姓名:XXX</name>
<phone>手机号码:111</phone>
<qq>QQ号码:000</qq>
</entry>
</entries>


IE9,FF可以alert出现“姓名:XXX ”,但是IE6alert空白,IE8根本不alert……请问这是怎么回事啊……拜谢啦~问题补充: 

请问这个要兼容IE6-8,就一定要用IIS 搭建一个服务器. 新建一个虚拟网站吗? 

ps,这里的figures.xml与当前操作的html处于同一个文件目录下的,没有挂上服务器。。。




下面是我的一些分析,可能不是很正确


jq的ajax默认先判断XMLHttpRequest,然后才是acx。

所以在请求本地资源时
1)FF支持XMLHttpRequest,请求xml文档能生成xmlDOM,所以执行正确
2)IE6不支持XMLHttpRequest,使用的是acx,acx请求本地xml无法生成xmlDOM,输出为空
3)IE7,IE8支持XMLHttpRequest,所以使用的是XMLHttpRequest,但是请求本地资源会出现access is denied的错误,没有执行success回调,所以没有输出
4)IE9没用过,不知道~~可能XMLHttpRequest支持请求本地资源

当然这些问题都会在正式发布网站时解决掉~


加支付宝好友偷能量挖...


原创文章,转载请注明出处:jquery请求本地xml无法执行回调问题

评论(0)Web开发网
阅读(149)喜欢(0)JavaScript/Ajax开发技巧