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对象。
这时候在前台使用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对象。
相关文章推荐
- Ajax返回xml文本无法读取的问题(PHP)
- Ajax返回xml文本无法读取的问题
- 关于解决无法获取AJAX中无法获取XML返回的问题
- 探讨:关于动态编译WebService为dll然后调用WebService的问题,无法返回xml文本
- 提问:关于动态编译WebService为dll然后调用WebService的问题,无法返回xml文本
- Linq to XML用XmlReader读取数据导致无法输出的格式化异常的问题
- 解决Intellij IDEA 中src下xml等资源文件无法读取的问题
- 解决 IDEA 中src下xml等资源文件无法读取的问题
- ajax在ie浏览器中读取xml文件出错问题
- 解决 IDEA 中src下xml等资源文件无法读取的问题
- SpringMVC + mybatis 无法读取JAR包中的XML配置文件问题
- 解决pathForResource返回nil / 无法读取plist文件问题
- ajax读取XML文本(如读取城市)
- Spring mvc 将请求后缀改成.htm 后ajax无法返回json的问题
- 解决 IDEA 中src下xml等资源文件无法读取的问题
- Ajax以responseXML返回,客户端(IE)不能分析xml问题
- dhl:ajax无法跨域改用getJSON(解决服务器返回json数据中文为乱码的问题$.ajaxSetup({ scriptCharset: "utf-8" , contentType: "application/json; chars)
- AJAX返回文本和XML
- fckeditor部署到weblogic的xml无法读取,样式不能显示问题
- js 函数无法返回ajax数据的问题