在后台将DS转化为XML数据写入响应流,前台则无法正常读到,xmlHttp.responseXML是空的,xmlHttp.responseTEXT有数据但是先将DS转化成XML文件,然后前台读静态XML文件,又是完全可以正常读到的,哪位高手帮帮忙啊
后台代码:
        if (Request.QueryString["y"] != null)
        {
            string s = Request.QueryString["y"];            this.Response.ContentType = "text/xml";
            DataProvider dp = new DataProvider("divtest");
            string sql = "select * from table_1 where 姓名='" + s + "'";
            DataSet ds = dp.ExecuteDataSet(CommandType.Text, sql);
            //Response.set("text/xml;charset=UTF-8");
            ds.WriteXml(Server.MapPath("~/App_Data/XMLFile.xml"));
            ds.WriteXml(Response.OutputStream);
        }
前台部分代码:
function readyStateHandler()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
debugger
                var str = xmlHttp.responseXML;
                var names=str.getElemenstByTagName("姓名");
                var name=names[0].firstChild.nodeValue;
                alert (name);
//                        
}
}
}

解决方案 »

  1.   

    楼主就读responseTEXT好了
    var doc = new ActiveXObject("MSxml2.DOMDocument")
    doc.loadXML(xmlhttp.responseText);
    var names=doc.getElementsByTagName("姓名");
    试试
      

  2.   

    晕啊,我用AJAX实现无刷新,我只能去请求后他ASPX页面啊,我不可能去请求XML文件啊?
    请求XML只是做了一个测试!!
      

  3.   

    3楼的,不行啊
    跟代码发现 doc.loadXML() 是 false