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无法执行回调问题