asp自动更新html数据,asp+xmlhttp实现页面无刷新数据动态显示

xmlhttp是非常好的一个组件,我们一般用它来做小偷程序,可以实现无数据库抓取对方内容显示,还可以用于生成HTML静态页面,还可以在HTML静态页面上实现动态内容显示。

用xmlhttp组件,通过get或post方式请求远程页面数据,实现无需刷新页面更新数据动态显示。

测试文件有两个,一个名为list.asp(请求页),另一个为msg.asp(内容页)。

list.asp内容如下:

function GetUserList()

{

oXMLHttpRequest = null;

szUserList = null;

var oXMLHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");

oXMLHttpRequest.Open("get", "msg.asp", false);

oXMLHttpRequest.setRequestHeader("Content-Type","text/html")

oXMLHttpRequest.Send();

szUserList = oXMLHttpRequest.responseText;

UserList.innerHTML = szUserList;

delete oXMLHttpRequest;

window.setTimeout("GetUserList()",5000);

//刷新时间5000毫秒(5秒),间隔时间可以自己调。

}

msg.asp内容如下

response.contenttype = "text/html"

response.charSet = "GB2312"

response.expires = 0

response.expiresabsolute = now() - 1

response.addHeader "pragma","no-cache"

response.addHeader "cache-control","private"

response.cachecontrol = "no-cache"

response.write "现在时间为:"&now()

%>

青岛星网温馨提醒:很多朋友从网上取例子直接拿来用,结果不成功,多数原因是远程页面(msg.asp)没有清空页面缓存(一定要加no-cache属性),所以请求的数据总是无法更新。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
获取微信用户头像和用户名需要使用微信开放平台提供的接口进行授权和获取用户信息,在这里我假设你已经完成了这些步骤。下面是一个简单的ASP+AJAX无刷新的1v1实时聊天手机页面的示例代码: 1. HTML页面代码: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>1v1实时聊天</title> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <style type="text/css"> #chatBox{ width: 100%; height: 500px; overflow: auto; border: 1px solid #ccc; margin-bottom: 10px; } #inputBox{ width: 100%; height: 50px; margin-bottom: 10px; } #inputBox textarea{ width: 80%; height: 100%; float: left; resize: none; } #inputBox button{ width: 18%; height: 100%; float: right; background-color: #00bfff; color: #fff; border: none; cursor: pointer; } </style> </head> <body> <div id="chatBox"></div> <div id="inputBox"> <textarea id="message" placeholder="请输入消息"></textarea> <button id="sendBtn">发送</button> </div> <script type="text/javascript"> $(function(){ var ws; var username = '<%=Session("username")%>'; //获取用户名 var avatarUrl = '<%=Session("avatarUrl")%>'; //获取头像URL var chatBox = $('#chatBox'); var message = $('#message'); var sendBtn = $('#sendBtn'); var wsUrl = 'ws://localhost:8080'; //WebSocket服务器地址 //连接WebSocket服务器 function connect(){ ws = new WebSocket(wsUrl); ws.onopen = function(){ console.log('WebSocket已连接'); //向服务器发送用户名和头像URL ws.send(JSON.stringify({type:'login', username:username, avatarUrl:avatarUrl})); }; ws.onmessage = function(event){ console.log(event); var data = JSON.parse(event.data); if(data.type == 'chat'){ //添加聊天记录到页面中 var chatItem = '<div><img src="'+data.avatarUrl+'">'+data.username+':'+data.message+'</div>'; chatBox.append(chatItem); //滚动到最底部 chatBox.scrollTop(chatBox[0].scrollHeight); } }; ws.onclose = function(){ console.log('WebSocket已关闭'); }; ws.onerror = function(){ console.log('WebSocket连接错误'); }; } //发送消息 function sendMessage(){ var msg = message.val(); if(msg == ''){ return; } ws.send(JSON.stringify({type:'chat', username:username, avatarUrl:avatarUrl, message:msg})); message.val(''); } //点击发送按钮发送消息 sendBtn.click(function(){ sendMessage(); }); //按Enter键发送消息 message.keydown(function(event){ if(event.keyCode == 13){ sendMessage(); } }); //页面加载完成后连接WebSocket服务器 connect(); }); </script> </body> </html> ``` 2. ASP代码: ```asp <%@ Language=VBScript %> <% Dim username, avatarUrl If Request.Cookies("userInfo") <> "" Then '从cookie中获取用户名和头像URL username = Server.URLEncode(Request.Cookies("userInfo")("username")) avatarUrl = Server.URLEncode(Request.Cookies("userInfo")("avatarUrl")) Else '从微信开放平台获取access_token和用户信息 Dim appId, appSecret, code, accessToken, userInfoUrl, userInfoStr, userInfoJson, nickname, headimgurl appId = "your_appId" '你的公众号appId appSecret = "your_appSecret" '你的公众号appSecret code = Request.QueryString("code") '微信授权回调页面的code参数 userInfoUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" & appId & "&secret=" & appSecret & "&code=" & code & "&grant_type=authorization_code" '发送HTTP请求获取access_token和openid Set xmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP") xmlHttp.Open "GET", userInfoUrl, False xmlHttp.Send accessToken = "" openid = "" If xmlHttp.Status = 200 Then Set xml = Server.CreateObject("Microsoft.XMLDOM") xml.async = False xml.loadxml(xmlHttp.responseText) accessToken = xml.getElementsByTagName("access_token")(0).Text openid = xml.getElementsByTagName("openid")(0).Text End If userInfoUrl = "https://api.weixin.qq.com/sns/userinfo?access_token=" & accessToken & "&openid=" & openid & "&lang=zh_CN" '发送HTTP请求获取用户信息 xmlHttp.Open "GET", userInfoUrl, False xmlHttp.Send If xmlHttp.Status = 200 Then userInfoStr = xmlHttp.responseText '解析用户信息JSON字符串 Set objJSON = Server.CreateObject("cJSON.SafeArray") objJSON.Decode userInfoStr nickname = Server.URLEncode(objJSON.Item("nickname")) headimgurl = Server.URLEncode(objJSON.Item("headimgurl")) '保存用户名和头像URL到cookie中 Response.Cookies("userInfo")("username") = nickname Response.Cookies("userInfo")("avatarUrl") = headimgurl username = nickname avatarUrl = headimgurl End If Set xmlHttp = Nothing End If Session("username") = username '将用户名保存到Session中 Session("avatarUrl") = avatarUrl '将头像URL保存到Session中 %> ``` 注意:以上示例代码仅供参考,实际使用时需要根据自己的需求进行修改和完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值