首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 帮忙看看下面的程序是什么问题?
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xuexiajax2008
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-21 18:42:19 楼主
    帮忙看看下面的程序是什么问题?
    帮忙看看下面的程序是什么问题?运行到红色字体的地方就不行了。。
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>无标题页 </title>
    <script type="text/javascript">
    var xmlHttp; //用于保存XMLHttpRequest对象的全局变量
    var basePath = ""; //图片保存目录

    //用于创建XMLHttpRequest对象
    function createXmlHttp() {
    //根据window.XMLHttpRequest对象是否存在使用不同的创建方式
    if (window.XMLHttpRequest) {
    xmlHttp = new XMLHttpRequest(); //FireFox、Opera等浏览器支持的创建方式
    } else {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器支持的创建方式
    }
    }

    //向服务器获取图片信息
    function getPicInfo() {
    createXmlHttp(); //创建XMLHttpRequest对象
    xmlHttp.onreadystatechange = displayPreview; //设置回调?
    xmlHttp.open("GET", "Default2.aspx", true); //发送GET请求
    xmlHttp.send(null);
    }

    //处理服务器返回信息
    function displayPreview() {
    if (xmlHttp.readyState == 4) {
    var previewDiv = document.getElementById("previewDiv"); //获取预览图容器对象
    previewDiv.innerHTML = ""; //清空容器内容

    var pics = eval("(" + xmlHttp.responseText + ")"); //将服务器信息转为JSON数组
    alert("1");这里没有弹出"1" 怎么转化成JOSN数组啊? //遍历整个JSON数组,创建预览图片
    for (var i=0; i <pics.length; i++) {
    var pic = pics;
    previewDiv.appendChild(createPreviewPic(pic)); //在容器内追加预览图节点
    }
    }
    }

    //创建预览图片节点
    function createPreviewPic(pic) {
    var picNode = document.createElement("div");
    picNode.className = "preview";
    picNode.innerHTML = " <img src='"+ pic.url + "' onclick='loadPic( '"+ pic.url +"' )'>";
    return picNode;
    }

    //加载完整图片
    function loadPic(picName) {
    document.getElementById("picDiv").innerHTML = " <img src='"+ picName + "'>";
    }
    </script>
    </head>
    <body >
    <form id="form1" runat="server">
    <div>
    <h1>相册浏览 </h1>

    <table class="default">
    <tr>
    <td class="item">点击缩略图查看完整图片 </td>
    </tr>
    <tr>
    <td>
    <div id="previewDiv">正在加载缩略图…… </div>
    </td>
    </tr>
    <tr>
    <td>
    <div id="picDiv"> </div>
    </td>
    </tr>
    </table>

    </div>
    </form>
    </body>
    </html>
    Default2.aspx.cs
    这里是没有错误的,我运行过了

    StringBuilder picInfo = new StringBuilder("[");
    int count = 0;
    string cmdtext = "select * from url where url";
    OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("db.mdb"));
    conn.Open();
    OleDbCommand cmd = new OleDbCommand(cmdtext, conn);
    OleDbDataReader rs = cmd.ExecuteReader();
    while (rs.Read ())
    {
    if (count > 0)
    {
    picInfo.Append(",");
    }
    picInfo.Append("{");
    picInfo.Append("'leixing':'");
    picInfo.Append(rs.GetString (1));
    picInfo.Append("','surl':'");
    picInfo.Append(rs.GetString(2));
    picInfo.Append("','url':'");
    picInfo.Append(rs.GetString(3));
    picInfo.Append("}");
    count++;
    }
    rs.Close();
    conn.Close();
    picInfo.Append("]");
    Response .Write (picInfo .ToString ());


    }
    将服务器信息(xmlHttp.responseText )转为JSON数组
    怎么转啊/
    UID33321 帖子7 精华0 积分0 下载币0 枚 阅读权限1 在线时间1 小时 注册时间2008-7-9 最后登录2008-8-21 查看详细资料
    编辑 引用 使用道具 报告 回复 TOP

    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • rjzou2006
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 19:41:421楼 得分:0
    var pics = eval("{" + xmlHttp.responseText + "}"); //将服务器信息转为JSON数组
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xuexiajax2008
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 19:53:212楼 得分:0
    引用 1 楼 rjzou2006 的回复:
    var pics = eval("{" + xmlHttp.responseText + "}"); //将服务器信息转为JSON数组

    这样也不行啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhsp1029
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 21:56:013楼 得分:0
    var pics = eval("(" + xmlHttp.responseText + ")"); //将服务器信息转为JSON数组

    如果返回的json的数据格式正确的话,上面这句转json应该没有问题

    但是当返回的xmlHttp.responseText 格式不符合json规范或者里面含有特殊字符,如\r,\n或者里面汉字编码方式不对,都会造成上面转成JSON数组失败。

    json的默认字符编码是utf-8
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xuexiajax2008
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 22:04:454楼 得分:0
    没有特殊字符啊..
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved