请求xml文件(xhr.responseXML取到的值为null)

昨天在学习到Ajax时读取xml文件操作的时候出现了这个问题
xhr.responseXML不能渠道xml文件的信息
如图所示:
在这里插入图片描述
我查了许多的资料之后大部分所发是因为response的contentType默认是text/html;charset=utf-8;这个格式可以传送text文本,但是现在需要传送的是xml文件,在ajax页面获取的就是document对象。
但是知道是这个原因之后再在php文件中添加了header(‘content-type:text/xml;charset=utf-8’);这句代码之后还是不行,所以还请哪位大佬帮忙看看
代码如下:
html文件:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>title</title>
	</head>
	<body>
		<h2>请求xml文件</h2>
		<input type="button" value="ajax获取xml文件" />
	</body>
</html>
<script type="text/javascript">
	//点击 请求xml
	document.querySelector('input').onclick=function(){
		var xhr=new XMLHttpRequest();
		//设置请求行
		xhr.open('POST','backXML.php');
		//设置请求头(get请求可以省略)
//		xhr.setContentType("text/xml;charset=utf-8");
		//注册状态改变事件
		xhr.onreadystatechange=function(){
			//判断状态&请求是否成功并使用数据
			if(xhr.readyState==4&&xhr.status==200){
				console.log(xhr.responseText);
				//如果返回的是xml使用responseXML接收
				console.log(xhr.responseXML);
				//页面中默认的文档对象
				//console.log(document);
			}
		}
		//发送请求
		xhr.send(null);
	}
</script>

php代码:文件名:backXML.php

<?php
//告诉浏览器 返回的是xml编码格式的utf-8
 header('content-type:text/xml;charset=utf-8');
 //接受发送过来的数据
 
 //读取xml
 //=>哪个分类中  文件分类中找
 //参数1 文件中的路径名
 $xmlString =file_get_contents('backXML.xml');
 
 //返回读取的xml
 echo $xmlString;

?>

xml代码:文件名:backXML.xml

<?xml varsion="1.0" encoding="UTF-8"?>
<root>
	<name>周林林</name>
	<age>18</age>
	<skinll>唱歌</skinll>
</root>

还请各位看到的大佬多多指教!!!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值