zoukankan      html  css  js  c++  java
  • eval()用法 vb的数据以字符串传递给JS,如何处理(2)

    getRecodAll.asp
    ---------------------------------------------------------------------
    <!--#include file="conn.asp"-->
    <%  dim rs,sql
     Set rs = server.CreateObject("adodb.recordset")
     sql="select * from book order by Id desc"
     rs.Open sql,conn,3,3
     
     dim i,tempStr,resultStr
     for i = 1 to rs.RecordCount
        if rs.EOF or rs.BOF then
           exit for
        end if
        tempStr="{qq:"""&encode(rs("qq"))&""",sex:"""&encode(rs("sex"))&""",content:"""&encode(rs("content"))&"""},"//这里以字符串的形式,返回给了JS脚本处理
        rs.MoveNext
        resultStr = resultStr + tempStr
     next
     if resultStr<>"" then
        resultStr = left(resultStr,len(resultStr)-1)
     else
        resultStr = "0"
     end if
     
     response.Write(resultStr)
    %>
    ajax.asp
    --------------------------------------------------------------

     function addMessage(){//更新留言,实质上是重新去服务器提取第一页的留言
             
     //    if(/LastDate=([^;]+)/.test(document.cookie)){ //删除cookie中记录的时间,模拟第一次浏览,防止重复更新留言
     //     var exp=new Date();
     //     exp.setTime(exp.getTime()-1);
     //     document.cookie="LastDate="+RegExp.$1+";expires="+exp.toGMTString();
     //    }
         //getList(1);  //更新cookie后更新第一页的留言,//此处是 分页显示,这里先不用
            getList();
        }


    function getList(){
        getObj("get_msg").innerHTML = "留言加载中....请稍后!";
        var xmlHttp = XMLHttpRequest();
        xmlHttp.open("get","getRecordAll.asp",true);
        xmlHttp.onreadystatechange = function(){
            if(xmlHttp.readyState==4){
                if(xmlHttp.status==200){
                    writeBookArr(xmlHttp.responseText);
                    //alert(xmlHttp.responseText);  
                   //getObj("get_msg").innerHTML=xmlHttp.responseText;
                }else{
                    alert("获取留言失败!网页错误:"+xmlHttp.status);
                   
                }//200
            }//=4
        };
        xmlHttp.send(null);
    }
       


    function writeBookArr(Str){ //输出服务器返回的留言内容
     if(Str!=0){
     //alert(Str);
     var i =0;
      var bookList=eval("new Array("+Str+")");//先把Str替换为传过来的字符串{},{},然后eval进行执行eval(new Array({},{},{})),然后每个bookList[i]都是一个对象.此处不可以这样写eval(new Array(Str)),也不可以new Array(Str)。
    // alert(bookList[i].qq + bookList[i].sex + bookList[i].content);
      var allStr="";
      for(var i=0;i<bookList.length;i++){
       allStr+=makBookStr(bookList[i].qq,bookList[i].sex,bookList[i].content); 
      }
     }else{ //返回0说明没有留言
      allStr="<div class=\"tips\">暂时还没有留言!</div>"
     }
     getObj("get_msg").innerHTML=allStr;
    }
       

    function makBookStr(qq,sex,content){ //创建一条留言的文本串

     var tempStr='<div class="note">\
       <div ><div ><strong>QQ:</strong>'+unescape(qq)+'</div>\
       <div ><strong>性别:</strong>'+sex+'</div>\
       <div >\
        <strong>留言内容:</strong>\
        <p>'+unescape(content)+'</p>\
       </div>\
      </div>';
     return tempStr;
    }

  • 相关阅读:
    【图论】2-SAT 问题
    【网络流】费用流(基于Capacity Scaling)
    CF gym 102483(NWERC 2018) A题 解答
    【网络流】最小点权覆盖集、最大点权独立集
    【网络流】最大密度子图
    【网络流】最大权闭合图
    简易 vim 配置
    生成函数基础
    「NOI.AC」NOI挑战赛第二场
    SDOI2020 退役记
  • 原文地址:https://www.cnblogs.com/8586/p/1235388.html
Copyright © 2011-2022 走看看