Ajax返回xml文本无法读取的问题

本文介绍了当Ajax请求响应XML为空时的排查方法,包括检查XML格式、设置正确的Content-Type及禁用缓存等步骤,并给出了具体的PHP实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   使用Ajax框架,后台使用php进行处理,前台使用js。后台php将数据从数据库中取出之后,按照xml格式封装并返回给前台。

这时候在前台使用responseText方法,可以获得xml文本,但是使用responseXML方法返回的都是空值。将responseText返回

的内容输出到文本中,可以使用IE打开xml文件。可见xml的格式是没有问题的。从网上查了很多,对该问题的解决方法大致有三种:

 

1.检查xml格式是否有误,如果xml格式错误的话是没法获得xml值的。

 

2.在后台生成xml文本时,要在输出的开始加入xml头。例如在php语言中,使用

header("Content-type: text/xml")

 

3.将xml设置为不缓存模式。在php中,使用

header("Cache-Control : no-cache,no-store,max-age=0,must-revalidate")

 

在前台可以使用responseXML.documentElement获得xml对象,然后再使用DOM解析方法访问xml节点。

经过上述三点的排查,发现忘记了设置xml缓冲方式。增加设置之后,前台可以通过responseXML的方法获得xml对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值