前段时间用jQuery做了个小练习,获取本地的xml数据,在firefox下面测试没问题,但是在IE下面总是获取数据失败,上网找了很久也没找到是怎么回事。郁闷了很长一段时间,今天有空又把这个问题拿出来研究了下,最后终于找到原因了,把页面放到服务器去浏览就OK了。难道是权限问题?不知道怎么火狐在本地目录可以获取数据成功。对于操作xml文档要放到服务器去,要不然会没有权限。
//html
<h1>加载xml数据</h1>
<input type="button" value="加载xml数据" id="loadXml"/>
<div class="xmldata">这里显示XML数据</div>
//js
$(function(){
$("#loadXml").click(function(){
$.ajax({
type:'get',
url:'xml.xml',
dataType:"xml",
success:function(data){
$(".xmldata").empty();
$("user",data).each(function(){
var users=$(this);
var html='<div class="name">';
html+=users.find("name").text();
html+='</div>';
html+='<div class="age">';
html+=users.find("age").text();
html+='</div>';
html+='<div class="sex">';
html+=users.find("sex").text();
html+='</div>';
$(".xmldata").append($(html));
})
}
})
})
})
//xml
<?xml version="1.0" encoding="gb2312"?>
<userInfo>
<user>
<name>haohao</name>
<age>18</age>
<sex>man</sex>
</user>
<user>
<name>dongdong</name>
<age>18</age>
<sex>man</sex>
</user>
<user>
<name>qingqing</name>
<age>18</age>
<sex>femal</sex>
</user>
</userInfo>
获取json数据却可以在本地获取数据,IE火狐都可以
//html
<h1>加载json数据</h1>
<input type="button" value="加载json数据" id="loadJson"/>
<div class="jsondata">这里显示Json数据</div>
//js
$(document).ready(function(){
$("#loadJson").click(function(){
$.getJSON('json.json',function(data){
$('.jsondata').empty();
$.each(data,function(index,content){
var html='<div class="name">';
html+=content['fname']+'</div>';
html+='<div class="age">';
html+=content['fage']+'</div>';
html+='<div class="content">'+content['fsex']+'</div>';
$('.jsondata').append(html);
});
})
})
})
//json
[
{
"fname":"好好",
"fage":"18",
"fsex":"nam"
}
,
{
"fname":"东东",
"fage":"18",
"fsex":"femal"
}
]