读书人

那位好心人 帮帮小弟我啊 头都炸了 高

发布时间: 2012-09-07 10:38:15 作者: rapoo

那位好心人 帮帮我啊 头都炸了 高分悬赏
废话不多说 发代码
前台JS代码

JScript code
// JScript 文件$(function (){$.ajax({  type:"GET", url:"GetTree.aspx",  datatype:"html",  success:function(data){  $(data).find("SysFun").each(function(i){                       var id=$(this).children("NodeId");   //取对象               var id_value=$(this).children("NodeId").text();  //取文本 或者 $("id" , xml).text();                      var ParentNodeId=$(this).children("ParentNodeId");            var ParentNodeId_value=$(this).children("ParentNodeId").text();            var DisplayName=$(this).children("DisplayName");            var DisplayName_value=$(this).children("DisplayName").text();            var NodeURL=$(this).children("NodeURL");            var NodeURL_value=$(this).children("NodeURL").text();            var DisplayOrder=$(this).children("DisplayOrder");            var DisplayOrder_value=$(this).children("DisplayOrder").text();            var ImgURL=$(this).children("ImgURL");            var ImgURL_value=$(this).children("ImgURL").text();            var IsLeaf=$(this).children("IsLeaf");            var IsLeaf_value=$(this).children("IsLeaf").text();            if(ParentNodeId_value=="0"){            var divlist=$("<div id="+id_value+" class='parent'></div>");            var im=$("<img src='../Images/s.gif'/>");            var title=$("<div class='title'>"+DisplayName_value+"</div>");            var head=$("<div class='head'></div>");            if(DisplayOrder_value=="1")            {            var nr=$("<div class='nr' style='display:block'><ul id='"+id_value+"nr' style='margin:0px;padding-top:12px;padding-left:0px'></ul></div>");            var icon=$("<div class='icon'></div>");            icon.css("background-position","0px -255px");            head.append(icon);            head.append(im);            head.append(title);            divlist.append(head);            nr.css("height",$(window).height()-105).appendTo(divlist);            }            else            {            var nr=$("<div class='nr'><ul id='"+id_value+"nr' style='margin:0px;padding-top:12px;padding-left:0px'></ul></div>");            var icon=$("<div class='icon'></div>");            head.append(icon);            head.append(im);            head.append(title);            divlist.append(head);            divlist.append(head);            divlist.append(nr);                      }                                 $("#middle").append(divlist);                       }            else            {            var li=$("<li style='list-style-type:none;width:180px;height:24px;padding-bottom:5px'></li>");            var img=$("<img src='../Images/"+ImgURL_value+"' width='16' height='16' style='float:left;margin-left:30px;margin-right:4px;margin-top:4px;' />");            var span=$("<span style='float:left;margin-top:5px'>"+DisplayName_value+"</span>");            li.append(img);                     li.append(span);            $("#"+ParentNodeId_value+"nr").append(li);            }                                            }        );      }   });})

后台
C# code
using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;using System.IO;using System.Xml;using System.Text;public partial class manage_Template_GetTree : System.Web.UI.Page{    protected void Page_Load(object sender, EventArgs e)    {        Response.ContentType = "text/html";            using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=12345;database=zjweb"))            {                SqlDataAdapter sda = new SqlDataAdapter("select * from sysFun", con);                DataSet ds = new DataSet();                sda.Fill(ds, "sysFun");                if (ds.Tables.Contains("sysFun") && ds.Tables["sysFun"].Rows.Count > 0)                {                                        XmlTextWriter writer = new XmlTextWriter(Response.OutputStream, Response.ContentEncoding);                    writer.Formatting = Formatting.Indented;                    writer.Indentation = 4;                    writer.IndentChar = ' ';                    ds.Tables["sysFun"].TableName = "sysFun";                    ds.Tables["sysFun"].WriteXml(writer);                    writer.Flush();                    writer.Close();                }            }//end using block                        Response.End();            }} 


firefox ie9 chrome 没问题
就是ie8 ie7 ie6 不行啊 各位高手 帮帮忙啊

[解决办法]
datatype:"html" 改成XML试试。
JQuery.AJAX的返回数据类型可能会经过浏览器的处理。错误可能就是浏览器版本支持的问题。类似
.PASEJSON() 这个问题。版本支持,其次就是datatype的指定。
下面是摘取的API信息,自己看下吧,希望有帮助。
/**********************************************************************/
通过dataType选项还可以指定其他不同数据处理方式。除了单纯的XML,还可以指定 html、json、jsonp、script或者text。

其中,text和xml类型返回的数据不会经过处理。数据仅仅简单的将XMLHttpRequest的responseText或responseHTML属性传递给success回调函数,

'''注意''',我们必须确保网页服务器报告的MIME类型与我们选择的dataType所匹配。比如说,XML的话,服务器端就必须声明 text/xml 或者 application/xml 来获得一致的结果。

如果指定为html类型,任何内嵌的JavaScript都会在HTML作为一个字符串返回之前执行。类似的,指定script类型的话,也会先执行服务器端生成JavaScript,然后再把脚本作为一个文本数据返回。

如果指定为json类型,则会把获取到的数据作为一个JavaScript对象来解析,并且把构建好的对象作为结果返回。为了实现这个目的,他首先尝试使用JSON.parse()。如果浏览器不支持,则使用一个函数来构建。JSON数据是一种能很方便通过JavaScript解析的结构化数据。如果获取的数据文件存放在远程服务器上(域名不同,也就是跨域获取数据),则需要使用jsonp类型。使用这种类型的话,会创建一个查询字符串参数 callback=? ,这个参数会加在请求的URL后面。服务器端应当在JSON数据前加上回调函数名,以便完成一个有效的JSONP请求。如果要指定回调函数的参数名来取代默认的callback,可以通过设置$.ajax()的jsonp参数。

注意,JSONP是JSON格式的扩展。他要求一些服务器端的代码来检测并处理查询字符串参数。更多信息可以参阅 最初的文章。

如果指定了script或者jsonp类型,那么当从服务器接收到数据时,实际上是用了<script>标签而不是XMLHttpRequest对象。这种情况下,$.ajax()不再返回一个XMLHttpRequest对象,并且也不会传递事件处理函数,比如beforeSend。


[解决办法]
不同的ContentType 会影响客户端所看到的效果.默认的ContentType为 text/html 也就是网页格式.
------------------------------
firefox ie9 chrome 没问题
就是ie8 ie7 ie6 不行啊
-----------------------------
修改
Response.ContentType = "text/html";
=========》
Response.ContentType = "text/xml";

读书人网 >asp.net

热点推荐