ajax除了可以请求服务器给出的接口,还可以请求任意文件;
xml :接收xml文件响应的数据,需要使用特殊的属性来接收:
xhr.responseXML;
接收到的数据是一个xml文档对象 - 类似于document的对象:
可以像操作dom一样去操作他
只能使用标签名选择器来选择标签
标签中只有innerHTML没有innerTex
json 接收到的json文件数据,是一个json字符串 需要将他转成对象或数组: JSON.parse(json字符串)
eval(json字符串) 只能转数组类型的json字符串,对象的不行
ajax可以请求xml文件
var xhr = new XMLHttpRequest;
xhr.open('get','./test.xml');
xhr.send()
xhr.onreadystatechange = function(){
if(xhr.readyState === 4){
if(xhr.status>=200 && xhr.status<300){
// var res = xhr.responseText;
// 如果ajax请求的是xml文件 - 接收响应的数据 - xhr.responseXML
// 获取到的是一个文档 - 类似于我们DOM中的document
var res = xhr.responseXML
// console.log(res);
// 可以像操作dom一样去操作响应的xml文档
var eles = res.getElementsByTagName('goods')
// console.log(eles);
// 遍历伪数组获取到每个数据
for(var i=0;i<eles.length;i++){
// console.log(eles[i]);
var goodsnameTag = eles[i].getElementsByTagName('goodsname')[0]
// console.log(goodsnameTag);
console.log(goodsnameTag.innerHTML);
}
}
}
}
ajax可以请求json文件
var xhr = new XMLHttpRequest;
xhr.open('get','test.json');
xhr.send()
xhr.onreadystatechange = function(){
if(xhr.readyState === 4){
if(xhr.status>=200 && xhr.status<300){
var res = xhr.responseText;
// res = JSON.parse(res)
res = eval(res)
console.log(res);
}
}
}版权声明:本文为qq_59342407原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。