首页 新闻 会员 周边

帮忙看看下面的程序是什么问题?

0
悬赏园豆:80 [已关闭问题]
<P>帮忙看看下面的程序是什么问题? <BR>帮忙看看下面的程序是什么问题?运行到红色字体的地方就不行了。。</P> <P>这个是按书上写的,刚刚学AJAX,郁闷啊,,,&nbsp;<BR>&lt;%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %&gt; <BR><BR>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; <BR><BR>&lt;html xmlns="http://www.w3.org/1999/xhtml" &gt; <BR>&lt;head runat="server"&gt; <BR>&lt;title&gt;无标题页 &lt;/title&gt; <BR>&lt;script type="text/javascript"&gt; <BR>var xmlHttp; //用于保存XMLHttpRequest对象的全局变量 <BR>var basePath = ""; //图片保存目录 <BR><BR>//用于创建XMLHttpRequest对象 <BR>function createXmlHttp() { <BR>//根据window.XMLHttpRequest对象是否存在使用不同的创建方式 <BR>if (window.XMLHttpRequest) { <BR>xmlHttp = new XMLHttpRequest(); //FireFox、Opera等浏览器支持的创建方式 <BR>} else { <BR>xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器支持的创建方式 <BR>} <BR>} <BR><BR>//向服务器获取图片信息 <BR>function getPicInfo() { <BR>createXmlHttp(); //创建XMLHttpRequest对象 <BR>xmlHttp.onreadystatechange = displayPreview; //设置回调函数 <BR>xmlHttp.open("GET", "Default2.aspx", true); //发送GET请求 <BR>xmlHttp.send(null); <BR>} <BR><BR>//处理服务器返回信息 <BR>function displayPreview() { <BR>if (xmlHttp.readyState == 4) { <BR>var previewDiv = document.getElementById("previewDiv"); //获取预览图容器对象 <BR>previewDiv.innerHTML = ""; //清空容器内容 <BR><BR><FONT color=#ff0000>var pics = eval("(" + xmlHttp.responseText + ")"); //将服务器信息转为JSON数组 <BR>alert("1");这里没有弹出"1" 怎么转化成JOSN数组啊? //遍历整个JSON数组,创建预览图片</FONT> <BR>for (var i=0; i &lt;pics.length; i++) { <BR>var pic = pics; <BR>previewDiv.appendChild(createPreviewPic(pic)); //在容器内追加预览图节点 <BR>} <BR>} <BR>} <BR><BR>//创建预览图片节点 <BR>function createPreviewPic(pic) { <BR>var picNode = document.createElement("div"); <BR>picNode.className = "preview"; <BR>picNode.innerHTML = " &lt;img src='"+ pic.url + "' onclick='loadPic( '"+ pic.url +"' )'&gt;"; <BR>return picNode; <BR>} <BR><BR>//加载完整图片 <BR>function loadPic(picName) { <BR>document.getElementById("picDiv").innerHTML = " &lt;img src='"+ picName + "'&gt;"; <BR>} <BR>&lt;/script&gt; <BR>&lt;/head&gt; <BR>&lt;body &gt; <BR>&lt;form id="form1" runat="server"&gt; <BR>&lt;div&gt; <BR>&lt;h1&gt;相册浏览 &lt;/h1&gt; <BR><BR>&lt;table class="default"&gt; <BR>&lt;tr&gt; <BR>&lt;td class="item"&gt;点击缩略图查看完整图片 &lt;/td&gt; <BR>&lt;/tr&gt; <BR>&lt;tr&gt; <BR>&lt;td&gt; <BR>&lt;div id="previewDiv"&gt;正在加载缩略图…… &lt;/div&gt; <BR>&lt;/td&gt; <BR>&lt;/tr&gt; <BR>&lt;tr&gt; <BR>&lt;td&gt; <BR>&lt;div id="picDiv"&gt; &lt;/div&gt; <BR>&lt;/td&gt; <BR>&lt;/tr&gt; <BR>&lt;/table&gt; <BR><BR>&lt;/div&gt; <BR>&lt;/form&gt; <BR>&lt;/body&gt; <BR>&lt;/html&gt; <BR>Default2.aspx.cs <BR>这里是没有错误的,我运行过了 <BR><BR>StringBuilder picInfo = new StringBuilder("["); <BR>int count = 0; <BR>string cmdtext = "select * from url where url"; <BR>OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("db.mdb")); <BR>conn.Open(); <BR>OleDbCommand cmd = new OleDbCommand(cmdtext, conn); <BR>OleDbDataReader rs = cmd.ExecuteReader(); <BR>while (rs.Read ()) <BR>{ <BR>if (count &gt; 0) <BR>{ <BR>picInfo.Append(","); <BR>} <BR>picInfo.Append("{"); <BR>picInfo.Append("'leixing':'"); <BR>picInfo.Append(rs.GetString (1)); <BR>picInfo.Append("','surl':'"); <BR>picInfo.Append(rs.GetString(2)); <BR>picInfo.Append("','url':'"); <BR>picInfo.Append(rs.GetString(3)); <BR>picInfo.Append("}"); <BR>count++; <BR>} <BR>rs.Close(); <BR>conn.Close(); <BR>picInfo.Append("]"); <BR>Response .Write (picInfo .ToString ()); <BR><BR><BR>} <BR>将服务器信息(xmlHttp.responseText )转为JSON数组 <BR>怎么转啊/</P>
问题补充: picInfo.Append("}"); 这个错了picInfo.Append("'}");,该成这样还是不行啊!!
less的主页 less | 初学一级 | 园豆:120
提问于:2008-08-21 20:20
< >
分享
其他回答(4)
0
alert(xmlHttp.responseText); 一下 看看返回的JSON数据格式之类的是否正确。 那你把JSON字符串贴出来看看
Hunts.C | 园豆:266 (菜鸟二级) | 2008-08-21 21:08
0
那证明服务器端没有返回正确的结果啊 。。你测试的时候试试从服务器端返回[{1},{2},{3}] .. 再看看结果 ~调试纠错慢慢来
Allie | 园豆:707 (小虾三级) | 2008-08-22 11:57
0
调试js有什么好的方法吗?除了alert,有没有好的工具支持,好像js也支持debug是吗?
lexus | 园豆:0 (初学一级) | 2008-08-22 12:37
0
使用JsUnit测试JavaScript代码 相关Json知识:http://www.json.org/json-zh.html JSON in JavaScript http://www.json.org/js.html Simple library for parsing and generating text in JSON data format. http://sourceforge.net/projects/csjson 我写的一个小例子。 http://files.cnblogs.com/RobotH/json.rar
roboth | 园豆:28 (初学一级) | 2008-08-22 17:19
0
其实你的代码问题不大。 看我的代码先: var req; if(window.XMLHttpRequest) { req=new XMLHttpRequest(); //Not IE } else if(window.ActiveXObject) { try{ req=new ActiveXObject("MSXML2.XMLHTTP");//新版本的IE }catch(e1){ req = new ActiveXObject("Microsoft.XMLHTTP");//老版本的IE } } 下面的代码就是你的了。你的问题我遇到过。是浏览器的问题。
Seven Shi | 园豆:275 (菜鸟二级) | 2008-09-01 13:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册