Ajax:Asynchronous Javascript And XML。写个简单的例子:

<body>    <form id="form1" runat="server">    <div>        <asp:Label ID="LabelTime" runat="server"></asp:Label>    </div>    </form>    <script type="text/javascript">        if (!window.XMLHttpRequest) {            window.XMLHttpRequest = function () {return new ActiveXObject("Microsoft.XMLHTTP");            };        }function UpdateClock() {var request = new XMLHttpRequest();            request.open("post", "TimeTest.aspx", false);            request.send("");            document.getElementById("LabelTime").innerText = request.responseText;        }        setInterval(UpdateClock, 1000);

</script></body>

而在另一个页面写下当前时间,这样就形成了一个钟表。

代码很简单,就是操纵一个XMLHttpRequest对象来获取服务器时间,然后更新时间。上面的代码在与服务器交互时,并没有页面整体刷新,而是局部刷新。

但是上面的代码在request.open时,最后一个参数为false,表示发出的XMLHttpRequest是同步的,由于Javascript是单线程的,所以在等待请求的过程中,线程会被阻塞,如果请求时间过长,浏览器会停止响应。

虽然Javascript是单线程的,但是XMLHttpRequest具备异步处理请求的能力。代码如下:

<body>    <form id="form1" runat="server">    <div>        <asp:Label ID="LabelTime" runat="server"></asp:Label>    </div>    </form>    <script type="text/javascript">        if (!window.XMLHttpRequest) {            window.XMLHttpRequest = function () {return new ActiveXObject("Microsoft.XMLHTTP");            };        }

function AsynRequest() {var request = new XMLHttpRequest();            request.open("post", "TimeTest.aspx", true);            request.onreadystatechange = function () {if (request.readyState === 4) {                    UpdateClock(request.responseText);                }            };            request.send("");        }function UpdateClock(time) {            document.getElementById("LabelTime").innerText = time;        }        setInterval(AsynRequest, 1000);

</script></body>

哎,没有智能提示的日子真不好过。

转载于:https://www.cnblogs.com/kym/archive/2010/01/17/1650229.html

Javascript学习笔记12——Ajax入门相关推荐

  1. JavaScript学习笔记:AJAX基础

    文章目录 一.准备工作 任务1.安装`phpstudy_pro`并启动`Apache`服务 任务2.下载HBuilder X,创建HBuilder项目 任务3.输入城市代码,返回城市天气预报信息 1. ...

  2. JavaScript 学习笔记 - 12 JavaScript 应用示例

    目录 12.1 使用可折叠菜单 12.2 添加下拉菜单 12.3 改进下拉菜单 12.4 带说明的幻灯片 12.5 一个娱乐姓名生成器 12.6 柱状图生成器 12.7 样式表切换器 12.1 使用可 ...

  3. Java学习笔记12——JVM入门

    文章目录 JVM简介和体系结构 JVM的位置 JVM的体系结构 类加载器 双亲委派机制 沙箱安全机制(了解即可) Native PC寄存器 方法区 栈 三种JVM 堆 新生区 永久区 堆内存调优 Jp ...

  4. JavaScript学习笔记(五)---cookie、Proxy、服务器、PHP语言、http协议、同步异步、事件轮循机制、ajax编写、接口

    JavaScript学习笔记(五)---cookie.Proxy.服务器.PHP语言.http协议.同步异步.事件轮循机制.ajax编写.接口 1.cookie 1.1cookie概念 1.2cook ...

  5. Java程序猿的JavaScript学习笔记(12——jQuery-扩展选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  6. JavaScript学习笔记之入门篇

    JavaScript学习笔记之入门篇 JavaScript引入 1. 页面级 js: 2. 外部js文件: JavaScript变量 1. 变量的作用: 2. 声明变量: 3. 变量赋值: 4. 单一 ...

  7. JavaScript学习笔记(六)(Jquery入门)

    JavaScript学习笔记(六) 一.jQuery是什么? 二.jQuery的安装 三.载入事件区别 四.jQuery对象和DOM对象的区别 DOM对象和Jquery对象互转 五.选择器 5.1 j ...

  8. JavaScript学习笔记(九)(验证框架,layer弹出层)

    JavaScript学习笔记(九) 一.jQuery Validate验证框架 1.引入相关插件路径 2. 修改一些规则 3. 自定义验证规则 4.异步验证 整体代码 二.layer弹出层 1.引入相 ...

  9. 千锋JavaScript学习笔记

    千锋JavaScript学习笔记 文章目录 千锋JavaScript学习笔记 写在前面 1. JS基础 1.1 变量 1.2 数据类型 1.3 数据类型转换 1.4 运算符 1.5 条件 1.6 循环 ...

最新文章

  1. vc与matlab联合,浅析VC与Matlab联合编程(二) - VC知识库文章
  2. Java中集合删除元素时候关于ConcurrentModificationException的迷惑点
  3. 怎么在js中取java变量的值
  4. JavaScript中ajax如何不刷新,JavaScript基于Ajax实现不刷新在网页上动态显示文件内容...
  5. .net持续集成测试篇之Nunit文件断言、字符串断言及集合断言
  6. git 撤销修改:未push 、已push
  7. 设计模式 代理模式和装饰模式的区别
  8. java方法嵌套数据源切换_SpringBoot AOP方式实现多数据源切换的方法
  9. vmware ubuntu 16.04 guest 修复不能桌面大小自动调整和从宿主机复制粘贴的问题
  10. 惠普z800工作站bios设置_HP工作站 BIOS说明 适用Z228 Z440 Z230 Z640 Z840 Z800 Z620 Z420 Z820主板设置 -...
  11. java 根据条码字体_barcode4j使用自定义字体生成条形码
  12. 关于王小云破解MD5
  13. 【Unity】U3D ARPG游戏制作实例(二)人物基本动作切换
  14. 批量下载bilibili视频
  15. GPS从入门到放弃(二十六) --- RTKLIB函数解析
  16. 转:英语 表示字母、数字的复数
  17. 大一计算机绩点3算什么水平,绩点3.9算什么水平
  18. AutoCTS: Automated Correlated Time Series Forecasting
  19. android 墨迹天气背景,GitHub - xiangzhihong/android: 仿墨迹天气折线,以及背景滚动效果...
  20. 单片机彩灯移动实验_51单片机键控彩灯实验

热门文章

  1. linux下杀死进程(kill)的N种方法
  2. c# bindingsource mysql,Navicat for MySQL 使用教程:在.NET中如何连接MySQL数据库
  3. (原创)Android6.0亮屏流程分析
  4. Tramp data In Kernel
  5. 编译原理lr(0)c语言,关于编译原理:LR(1)LR(0)文法判断?
  6. 验证码实现php 难点,php实现简单的验证码功能
  7. 2020-07-02 CVPR2020 VL论文讨论(3) 笔记
  8. 模型学习 - HNN、RBM、DBN
  9. 如何在Windows7下删除Ubuntu开机引导项
  10. 2017年10月08日 上学