您的位置:首页 > 其它

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

2012-11-26 21:14 323 查看
使用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对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: