Ajax原理

引用:http://www.cnblogs.com/xugang/archive/2007/10/16/925993.html

看了“坐断东南 笑煞之”的那篇 .net组件开发系列(二)之武林系列 太极拳 开发ajax控件 总有一种意犹味尽的感觉。没有想到 金色海洋(jyk)竟“晕了”,我感觉写得挺不错的,就是少了点盐味,所以斗胆补充以下。

声明:本代码是引用自奚江华的著作,但我没有在网络找到相关地址,所以没有添加相关引用。这个例子是我手动敲打进来的,一是为了自己练习一下,二来也方便大家学习和指教。

为了让各为能够了解什么是AJAX,以下是一个AJAX的手工范例(即不引用任何的Library或AJAX framework),此范例颇为精要易懂,其作用主要是透过Client 端的Browser来即时监控Web 服务器资源或效能变化,各位只要做过一遍范例就能够了解AJAX在网页开发上是多么具有威力了。

先来看看效果图:


本范例是一个简单的AJAX例子,但麻雀虽小五脏俱全,可由此窥见原始AJAX非同技术是如何运作。不需要安装任何特殊的AJAX套件,步骤说明如下:

一 建立Web项目
首先在VS 2005(或VS.NET 2003)建立一个普通的WEB项目,或者您没有VS开发工具,直接用记事本建立也行。

二 建立Client端页面 在Web专案中加入一个Client端页面Client.htm,并将此页面设定为起始页,这个页面会向Web伺服器网页发出非同步呼叫请求,并且将伺服器回传资料更新到网页元素中,代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<script language="javascript">
varXmlHttp=newActiveXObject("Microsoft.XMLhttp");
functionsendAJAX()
{
XmlHttp.Open("POST","Server.aspx",true);
XmlHttp.send(null);
XmlHttp.onreadystatechange=ServerProcess;
}
functionServerProcess()
{
if(XmlHttp.readystate==4||XmlHttp.readystate=='complete')
{
document.getElementById('nameList').innerHTML
=XmlHttp.responsetext;
}
}
setInterval('sendAJAX()',1000);
</script>
</head>
<body>
<div id="nameList"></div>
</body>
</html>


三 建立Server端处理程式
另外在专案中加入一个Server.aspx网页(含.cs),Server.aspx 不需要添加任何代码。
Server.aspx.cs 程序码如下:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Diagnostics;
public partial class Server : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        PerformanceCounter myMemory = new PerformanceCounter();
        myMemory.CategoryName = "Memory";
        myMemory.CounterName = "Available KBytes";
        string txtResult = "-->服务器可以用记忆体大小:" +
        myMemory.NextValue().ToString() + "KB";
        Response.Write(DateTime.Now.ToLongTimeString() + txtResult);
    }
}


说明: 
首先记得引用 System.Diagnostics 命名空间,因为 PerformanceCounter 必须使用该命名空间,而 PerformanceCounter 类别可让您监控 Windows作业系统的各种效能计数器,在此透过它取得服务器每秒可用记忆体大小的变化情形。

执行 Client.htm 页面,大约会花5秒启始 Performance-Counter 物件,之后透过 AJAX 便可每秒获得 Server 可用记忆
体变化情形。当然用 Server Side 的 Timer 也可以实现,但那种方式会造成 Server 的 Loading 爆增,人多的话还可能搞垮你的 Server,但 AJAX 就具有极佳的弹性与灵巧,透过 AJAX 您可以即时侦测到资料库或事件的变化即时显现在网页上

转载于:https://www.cnblogs.com/sode/archive/2012/08/27/2658632.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434293.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cdh界面 hue 配置hbase_海量数据存储技术之HBase:使用HBase Shell操纵HBase

Apache HBase Shell是JRuby的IRB&#xff0c;并在此基础上加入了HBase特有的命令。JRuby是用Java实现的Ruby解释器。通过JRuby&#xff0c;你可以在JVM上直接运行Ruby程序&#xff0c;调用Java的类库。IRB即interactive ruby&#xff0c;交互式Ruby。运行HBase Shell&#xff1…

安卓 图像清晰度识别_智能车牌识别系统的常见故障和解决方法

车牌号是车辆的唯一身份标志&#xff0c;它的特殊性与重要性从而决定了车牌识别系统在智慧城市交通管理系统中成为不可或缺的重要组成部分。下面智能车牌识别系统厂家畅荧智能科技将详细为您介绍一些智能车牌识别系统常见的故障问题和对应的解决方法。智能车牌识别系统的常见故…

post postman 传递数组对象_如何使用postman做接口测试

一&#xff0c;接口测试是什么什么是接口测试&#xff0c;不说广泛的概念&#xff0c;直接电脑打开浏览器&#xff0c;进入开发者工具(F12)随意进入一些网站可以看到下面左侧栏出现了一系列的数据&#xff1a;上面条数据都是一个单独的接口&#xff0c;点击单个接口&#xff0c…

形位公差符号大全_玩转CAD快捷键(大全),一篇文章就够了

CAD快捷键命令大全符号键&#xff08;CTRL开头&#xff09;CTRL1 PROPCLOSEOROPEN 对象特性管理器CTRL2或4 ADCENTER 设计中心CTRL3 CTOOLPALETTES 工具选项板CTRL8或QC QuickCalc 快速计算器控制键CTRLA AI_SELALL 全部选择CTRLC或CO/CP COPYCLIP或COpy 复制CTRLD或F6 COORDIN…

k近邻算法_K近邻(knn)算法是如何完成分类的?

摘要&#xff1a;K近邻算法是机器学习中的一个非常基础的算法。本文通过自生成数据&#xff0c;通过绘图的方式演示KNN算法的思路&#xff0c;让你不看数学公式就看了解什么是KNN算法。关键词&#xff1a;KNN算法1 生成一个二分类的数据集本文很多内容参考文献[1]。先生成一个两…

登录不上_《盗贼之海》登录不上?还在傻傻等待,快来让我教教你

大家都对这款海盗题材的游戏《盗贼之海》有兴趣了吧&#xff0c;相信大家都入手了它&#xff0c;但是也有很多朋友在入手后遇见了很多问题&#xff0c;别怕&#xff0c;今天干货来了&#xff0c;手把手教你。保证你流畅游戏&#xff0c;快人一步。我看见很多朋友都在问&#xf…

苹果X可以升级5G吗_苹果x可以用5g网络吗

随着5G网络的逐渐商用&#xff0c;越来越多5G原型机和量产机都即将推出&#xff0c;那么苹果iPhone X能够支持5G网络吗&#xff1f;下面就为您带来苹果iPhone x可以用5G网络吗的相关介绍&#xff0c;希望以上的介绍能够帮助到您。苹果x可以用5g网络吗1、iPhone X并不支持5G网络…

提交显示成功但是没有看到文件_如何向RTThread提交一个BSP?

RT-Thread今天的快速发展和所取得成绩&#xff0c;离不开所有开发者的持续贡献和社区小伙伴的竭力支持。一、前言今年6月&#xff0c;我在一款智能混合型的FPGA芯片上&#xff0c;完成了RT-Thread的移植&#xff0c;并向RT-Thread提交了一个完整的BSP&#xff0c;后续又根据审查…

WinForm中使用WPF的控件

在WinForm中可以使用WPF中的控件&#xff0c;或者由WPF创建的自定义控件&#xff1b; 步骤1&#xff1a;创建WinForm工程&#xff1b; 步骤2&#xff1a;在WinForm工程的解决方案资源管理器中&#xff0c;在刚刚创建的WinForm解决方案中新建或者添加现有的WPF用户控件工程&…

docker php composer 使用_「PHP编程」如何使用Docker制作自己的LNMP/LAMP镜像

LNMP和LAMP是PHP常用的两种运行环境&#xff0c;L代表Linux&#xff0c;N代表Nginx&#xff0c;A代表Apache&#xff0c;M代表Mysql&#xff0c;P代表PHP。在文章《「PHP编程」安装开发环境太烦&#xff1f;告诉你几个简单方法&#xff0c;分分钟搞定》中我们介绍了&#xff0c…

中天数相减获得差_Power BI 了解DAX中LASTDATE和MAX之间的区别

许多刚开始使用DAX的小伙伴在使用LASTDATE搜索某个时间段内的最后日期。或者他们使用NEXTDAY检索给定日期之后的日期。尽管这些函数可以实现它们所承诺的功能&#xff0c;但它们并不打算在简单的表达式中使用。相反&#xff0c;它们是设计用于时间智能计算的表函数。错误地使用…

python gif_python 将png图片格式转换生成gif动画

先看知乎上面的一个连接 用Python写过哪些【脑洞大开】的小工具&#xff1f; 这个哥们通过爬气象网站的气象雷达图&#xff0c;生成一个gif的动态图。非常有趣且很实用&#xff0c;那咱也实现下。 我们先实现一个从GIF提取帧的代码 我们这有个gif代码如下&#xff1a; from PIL…

HTTP代理原理以及HTTP隧道技术

通过HTTP协议与代理服务器建立连接&#xff0c;协议信令中包含要连接到的远程主机的IP和端口号&#xff0c;如果有需要身份验证的话还需要加上授权信息&#xff0c;服务器收到信令后首先进行身份验证&#xff0c;通过后便与远程主机建立连接&#xff0c;连接成功之后会返回给客…

goland环境配置_Goland辅助工具goimports和gomodules

1、goimports工具goimports工具是Go官方提供的一种工具&#xff0c;它能够为我们自动格式化 Go 语言代码并对所有引入的包进行管理&#xff0c;包括自动增删依赖的包引用、将依赖包按字母序排序并分类。我们在使用Goland IDE的时候&#xff0c;建议使用goimports工具。它具备包…

石头剪刀布python代码_python实现石头剪刀布程序

本文实例为大家分享了python实现石头剪刀布的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下 概述&#xff1a; 如果你和我一样是一个有着其他语言基础的编程者&#xff0c;那我想这个小程序对于你来说是小case。由于本人初学Python&#xff0c;就先拿这个熟悉熟悉一…

ubuntu/wireshark --Lua: Error during loading: [string /usr/share/wireshark/init.lua]:45问题解决

错误如下&#xff1a; 解决方案&#xff1a;修改init.lua 直接运行wireshark的话会报错&#xff1a; Lua: Error during loading: [string "/usr/share/wireshark/init.lua"]:45: dofile has been disabled 要对其进行修改&#xff0c;终端运行 sudo gedit /usr…

ubuntu下IP、DNS配置

一、配置ip ubuntu的网络配置信息放在 /etc/network/interfaces 中&#xff0c;如果配置动态获取ip&#xff0c;则在上述文件中加入以下内容&#xff1a;auto eth0iface eth0 inet dhcp如果配置静态ip&#xff0c;则添加如下内容&#xff1a;auto eth0 iface eth0 inet statica…

python向空列表添加列表_Python列表核心知识点汇总

千里之行&#xff0c;始于足下。要练成一双洞悉一切的眼睛&#xff0c;还是得先把基本功扎扎实实地学好。今天带大家仔细温习一下Python的列表。温故而知新&#xff0c;不亦说乎。当然&#xff0c;温习的同时也要发散思考&#xff0c;因为有些看似无关紧要的、约定俗成的语言习…

sharepoint2010的弹出等待提示的对话框

根据MSDN的资料。我做了个测试&#xff0c;代码如下&#xff1a; <% Assembly Name"$SharePoint.Project.AssemblyFullName$" %> <% Assembly Name"Microsoft.Web.CommandUI, Version14.0.0.0, Cultureneutral, PublicKeyToken71e9bce111e9429c" …

java中输出值保留四位小数_Java工程师(3).变量和数据类型

变量什么是变量变量是内存中的一块存储空间&#xff0c;用于保存Java程序准备使用的数据。可以为变量赋予一个简短并易于记忆的名字方便我们使用变量的值。int 变量的声明因为经常要保存一些数据&#xff0c;所以变量是很常用的。使用变量必须先声明变量&#xff1a;int 变量的…