ajax与jsp 获得空xml解决方法
Ajax和jsp的怪现象
如果用Ajax去请求一个jsp页面,该jsp页面返回的是xml(response.setContentType("text/xml; charset=GB2312");),并且该jsp包含下面这些头@page指令的话,则在客户端xml=XMLHttpRequest.responseXML得到的是一个不包含任务东西的xml对象,即xml.childNodes.length将会是0.
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="com.suntek.notes.sql.DBGrid"%>
<%@ page import="java.util.Vector" %>
原因是以上的@page指令(其实是任何一个指令)会产生空行。即在jsp里边的out.print(xml)到客户端的之前,已经有空行输出了。解决办法可以是去掉上面的语句,或把jsp改为servlet
同时,jsp里边的任何空行都有可能会导致同样的问题。
应该用servlet较好。
相关文档:
1)DOM(JAXP Crimson解析器)
DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找
特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被 ......
var xmlHttp;
var flag = false;
function createXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();
}
}
fu ......
今天学会了如何自己编写 JSP 用来处理 CKEditor 的图片上传。
<%@ page import="org.apache.commons.fileupload.FileItem" %>
<%@ page import="java.util.List" %>
<%@ page import="org.apache.commons.fileupload.disk.DiskFileItemFactory" %>
<%@ page import ......