• 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;
    }

  • 相关阅读:
    zabbix 3.4自动化监控(6)
    zabbix 3.4 web监控(5)
    童年
    CSDN中快速转载别人文章
    10个提升效率的编程好习惯(转载)
    解决vscode中vim插件,不能使用Ctrl+c
    英语复习安排
    比勤奋更能拉开人生差距的,是成长型思维
    转载文章
    红宝书考研资料
  • 原文地址:https://www.cnblogs.com/8586/p/1235388.html
Copyright © 2020-2023  润新知