// JavaScript Document

/*创建XMLHttpRequest对象

*这段代码的核心分为三步:

1、建立一个变量 xmlHttp 来引用即将创建的 XMLHttpRequest 对象。 

2、尝试在 Microsoft 浏览器中创建该对象: 

1)尝试使用 Msxml2.XMLHTTP 对象创建它。

2)假设失败,再尝试 Microsoft.XMLHTTP 对象。 

3、假设仍然没有建立 xmlHttp。则以非 Microsoft 的方式创建该对象。

*/

function createXmlHttp(){

var xmlHttp = false;

try {

//在 Microsoft 浏览器上创建 XMLHttpRequest 对象

//假设使用较新版本号的 Internet Explorer,则须要使用对象 Msxml2.XMLHTTP

xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");

} catch (e) {

try {

//较老版本号的 Internet Explorer 则使用 Microsoft.XMLHTTP

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

} catch (e2) {

xmlHttp = false;

}

}

//在非 Microsoft 浏览器上创建 XMLHttpRequest 对象

if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {

xmlHttp = new XMLHttpRequest();

}

return xmlHttp;

}



/*发出请求:

在全部 Ajax 应用程序中基本都雷同的流程:





1、从 Web 表单中获取须要的数据。 

2、建立要连接的 URL。 

3、打开到server的连接。 

4、设置server在完毕后要执行的函数。 

5、发送请求。 

*/



function callServer() {

  // Get the city and state from the web form

  var city = document.getElementById("city").value;

  var state = document.getElementById("state").value;

  // Only go on if there are values for both fields

  if ((city == null) || (city == "")) return;

  if ((state == null) || (state == "")) return;

  // Build the URL to connect to

  var url = "/scripts/getZipCode.php?city=" + escape(city) + "&state=" + escape(state);

  // Open a connection to the server

  xmlHttp.open("GET", url, true);

  // Setup a function for the server to run when it's done

  xmlHttp.onreadystatechange = updatePage;

  // Send the request

  xmlHttp.send(null);

}

/*xmlHttp的 onreadystatechange 属性能够告诉server在执行完毕后做什么。

由于代码没有等待server,必须让server知道怎么做以便您能作出响应。

在这个演示样例中,假设server处理完了请求,一个特殊的名为 updatePage() 的方法将被触发。

须要特别注意的是该属性在代码中设置的位置 —— 它是在调用 send() 之前 设置的。

发送请求之前必须设置该属性,这样server在回答完毕请求之后才干查看该属性

*/



function updatePage() {

 if (request.readyState == 4)

if (request.status == 200)

alert("Server is done!");

else if (request.status == 404)

alert("Request URL does not exist");

else

alert("Error: status code is " + request.status);

}

XMLHttpRequest 的使用······的更多相关文章

  1. 2015·Fool's Day·NND

    本博文没有主旨,仅仅是记录. ============================ Date:2015/4/1 - April Fool's Day! Addr:ZhongHai ======== ...

  2. 为什么要阅读——兼分享《首先,打破一切常规》[中译文]:世界顶级管理者的成功秘诀/(美)马库斯·白金汉,(美)柯特·科夫曼 著

    <ctrlno=255632">首先,打破一切常规>[中译文]:世界顶级管理者的成功秘诀/(美)马库斯·白金汉,(美)柯特·科夫曼 著:鲍世修 等译 下载地址:http:/ ...

  3. 书列荐书 |《刻意练习》安德斯&#183;艾利克森,罗伯特&#183;普尔著

    花了两天的时间,一气呵成的读完了这本书.凝练的精华就是:首先,世界上并没有真正的天才这一说.基因可能会起作用,但是经过后天大量的刻意练习,基因的这种作用会弱化.刻意练习需要专注.及时的反馈,并根据反馈 ...

  4. SGU 183. Painting the balls( dp )

    dp..dp(i, j)表示画两个点为i-j, i的最优答案. dp(i, j) = min{ dp(i-j, k) } + cost[i] (1≤k≤M-j) 令f(i, j) = min{dp(i ...

  5. 开源企业IM-免费企业即时通讯-ENTBOOST V2014.183 Windows版本号正式宣布

    ENTBOOST,VERSION 2014.183 Windows(点击下载)版本号公布.主要添加PC端P2P(点对点)文件传输功能:公布安卓Android手机clientAPP 1.0版本号.公布苹 ...

  6. python练习:实现一个整数数组里面两个数之和为183的所有整数对

    l1 = [183,0,1,2,-184,367] num = [] for i in range (0,len(l1)): for l in range (i+1,len(l1)): if l1[i ...

  7. Android开发技术周报183学习记录

    Android开发技术周报183学习记录 教程 Android性能优化来龙去脉总结 记录 一.性能问题常见 内存泄漏.频繁GC.耗电问题.OOM问题. 二.导致性能问题的原因 1.人为在ui线程中做了 ...

  8. sgu 183. Painting the balls 动态规划 难度:3

    183. Painting the balls time limit per test: 0.25 sec.memory limit per test: 4096 KB input: standard ...

  9. JavaScript周报#183

    This week’s JavaScript news Read this issue on the Web | Issue Archive JavaScript Weekly Issue 183Ma ...

随机推荐

  1. 使用TensorFlow给花朵🌺分类

    第一步:准备好需要的库 tensorflow-gpu  1.8.0 opencv-python     3.3.1 numpy skimage os pillow 第二步:准备数据集: 链接:http ...

  2. 洛谷P4549裴蜀定理

    传送门 #include <iostream> #include <cstdio> #include <cstring> #include <algorith ...

  3. Qt编程之悲惨世界

    最近需要给人写点基于QtWebkit的代码,算是领教了Qt编程的痛苦之处. QNetworkConfigurationManager::isOnline() 只有在编译平台上能运行,拷贝到其他Wind ...

  4. Codeforces 311B Cats Transport 斜率优化dp

    Cats Transport 出发时间居然能是负的,我服了... 卡了我十几次, 我一直以为斜率优化写搓了. 我们能得出dp方程式 dp[ i ][ j ] = min(dp[ k ][ j - 1 ...

  5. 记录一下SparkStreaming中因为使用redis做数据验证而导致数据结果不对的问题

    业务背景: 需要通过redis判断当前用户是否是新用户.当出现新用户后,会将该用户放入到redis中,以标明该用户已不是新用户啦. 出现问题: 发现入库时,并没有新用户入库,但我看了数据了,确实应该是 ...

  6. 003.RAID管理

    一 查看RAID组信息 [root@kauai ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Mon Aug 29 22: ...

  7. Mac 下的 .app文件如何生成.dmg ?

    安装 Node.js最新版. 安装方法不赘述. 安装 create-dmg: sudo npm install --global create-dmg 注意这里 sudo不能少. 终端切换到 .app ...

  8. 面向对象设计原则 单一职责原则(Single responsibility principle)

    单一职责原则(SRP:Single responsibility principle) 又称单一功能原则,面向对象的基本原则之一.它规定 一个类应该只有一个发生变化的原因. 该原则由罗伯特·C·马丁( ...

  9. 【BZOJ 4569】 4569: [Scoi2016]萌萌哒 (倍增+并查集)

    4569: [Scoi2016]萌萌哒 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 865  Solved: 414 Description 一个长 ...

  10. CF815C Karen and Supermarket

    题目链接 CF815C Karen and Supermarket 题解 只要在最大化数量的前提下,最小化花费就好了 这个数量枚举ok, dp[i][j][1/0]表示节点i的子树中买了j件商品 i ...