代码改变世界

真正页面无刷新调用数据原理js无刷新

  周国选  阅读(5657)  评论(0编辑  收藏  举报

Iframe的实现可能是最常看到的。很多论坛和聊天室的无刷新效果都是用这个实现的。但是这个方法还是可以在IE的状态栏上看到下载数据的进度条,而且有刷新数据时电脑发出的声音,本质上不能属于真正的无刷新技术。
    XMLHTTP
相信也有很多人用过,但是出于对浏览器的兼容性要求,还有很多网友的浏览器屏蔽了对控件的支持,使得XMLHTTP在客户端的应用显得比较苍白无力了。一般都是在服务器端应用得比较多。
   
现在开始说说我自己的思路吧:
   
刚开始我也是用Iframe来实现的,但是一听到那个讨厌的刷新声,心里就不是滋味,于是我想,既然Iframe可以通过改变它的src属性,那JS也可以啊,而且JS请求跟Iframe的请求方式是不一样的,至少在刷新效果是不一样的。所以我就开始从这个念头入手。现在给出代码让大家参考。

程序代码:

<!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>

<title>真正页面无刷新调用数据原理</title>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

    <script type="text/javascript">

    function GetData(url)

    {

      document.getElementById("DataLoad").src=url;   

    }

    </script>

    <script id="DataLoad" type="text/javascript" defer="defer"></script>

</head>

<body>

    <input type="button" name="Submit" value="请求" onclick="GetData('index.aspx')" id="Button1"/>

</body>

</html>

 

Index.aspx.cs

        protected void Page_Load(object sender, EventArgs e)

        {

            //要处理的cs代码

            Response.Write("");//输出空

        }
这个是主页面的代码, index.aspx这一个页面就是请求的页面,在这里可以包含很多的逻辑,跟调用普通的JS文件一样,这些具体只要知道javascript的应该都不难理解。

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示