1. AJAX是什么?

AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML),

基于 JavaScript 和 HTTP 请求(HTTP requests)。

AJAX 不是一种新的编程语言,而是一种使用现有标准的新方法,

是一种在 2005 年由 Google 推广开来的编程模式, 用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。
这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。

通过 AJAX,你可以创建更好、更快以及更友好的 WEB 应用程序。

2. 创建 XMLHttpRequest 对象

XMLHttpRequest 是 AJAX 的基础。

XMLHttpRequest 对象
所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。
XMLHttpRequest 用于在后台与服务器交换数据。

这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

为了应对所有的现代浏览器,包括 IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象。如果支持,则创建 XMLHttpRequest 对象。如果不支持,则创建 ActiveXObject :

var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

3. 向服务器发送请求
如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:
xmlhttp.open("GET","test1.txt", true); // GET 或 POST, url, true(异步)或 false(同步)
xmlhttp.send(); // 将请求发送到服务器, send()在POST时,可以带String参数,参数值为表单数据

与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。

然而,在以下情况中,请使用 POST 请求:

a. 无法使用缓存文件(更新服务器上的文件或数据库)

b. 向服务器发送大量数据(POST 没有数据量限制)

c. 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

POST方式带参数的例子:

xmlhttp.open("POST","ajax_test.asp",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Bill&lname=Gates");

当使用 async=true 时,请规定在响应处于 onreadystatechange 事件中的就绪状态时执行的函数:
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","test1.txt",true);
xmlhttp.send();

onreadystatechange     存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
readyState,存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中

4: 请求已完成,且响应已就绪
status    
200: "OK"
404: 未找到页面

服务器响应

如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。
responseText     获得字符串形式的响应数据。
responseXML     获得 XML 形式的响应数据。

参考文档:

http://www.w3school.com.cn/ajax/index.asp

AJAX W3CSchool 学习笔记相关推荐

  1. html5教程 w3cschool,W3Cschool学习笔记——HTML5基础教程

    HTML5 建立的一些规则:新特性应该基于 HTML.CSS.DOM 以及 JavaScript. 减少对外部插件的需求(比如 Flash) 更优秀的错误处理 更多取代脚本的标记 HTML5 应该独立 ...

  2. 关于ajax的学习笔记

    关于ajax的学习笔记 ajax介绍 AJAX 的使用 模板引擎 传统方法 art-template方法 原理(正则表达式) ajax技术的核心xhr 还在更新 ajax介绍 ajax 全名 asyn ...

  3. w3c html5 ajax,Ajax教程学习笔记(W3CSchool)

    第一章: 基础 1.1 是什么? AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现 ...

  4. ajax基础学习笔记

    今天学习了下ajax,简单总结一下: 1.创建XMLHttpRequest对象: xmlhttp=new XMLHttpRequest(); 2.向服务器发送请求: Get方法: xmlhttp.op ...

  5. ajax datatype_JavaScript学习笔记(二十七) ajax及ajax封装

    AJAX ajax 全名 async javascript and XML 是前后台交互的能力 也就是我们客户端给服务端发送消息的工具,以及接受响应的工具 是一个 默认异步 执行机制的功能 AJAX ...

  6. 如何快速入门Ajax(学习笔记)—— 原生ajax、jQuery、axios

    如何快速入门Ajax 1. 服务器的基本概念 客户端与服务器 URL地址 网页中如何请求数据 资源的请求方式 2. 了解Ajax Ajax是什么 Ajax的应用场景 3. jQuery中的Ajax g ...

  7. mvc中ajax的跳转,springmvc ajax 跳转的学习笔记

    Spring Web MVC是什么 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,下面我们来看一篇关于springmvc ajax 跳转 ...

  8. jQuery学习笔记:Ajax(二)

    接上篇"jQuery学习笔记:Ajax(一)". 3.jQuery.get(url,[data],[callback],[type])通过远程 HTTP GET 请求载入信息. 这 ...

  9. Python3 爬虫学习笔记 C03 【Ajax 数据爬取】

    Python3 爬虫学习笔记第三章 -- [Ajax 数据爬取] 文章目录 [3.1]Ajax 简介 [3.2]解析真实地址提取 [3.1]Ajax 简介 Ajax - Asynchronous Ja ...

最新文章

  1. Codeforces Round #539 (Div. 1)
  2. 网页编程中的模态对话框
  3. python框架之Django(2)-简单的CRUD
  4. 您好您拨打电话已停机_您好GroovyFX
  5. 施一公:培养本科生比培养博士生要难
  6. OpenCV稀疏矩阵SparseMat
  7. JAVA jdk安装
  8. windows 2008 R2操作系统上使用iis服务运行php和mysql数据库的网站遇到的验证码不显示问题?...
  9. 鸟哥的Linux私房菜_服务器架设篇 第三版
  10. dw怎么保存HTML手机可以看,【dw网页制作】如何使用Dreamweaver制作网页?如何用Dreamweaver制作个人虚拟网站?dreamweaver如何制作手机网站?...
  11. CE修改植物大战僵尸-阳光基址(小宇特详解)
  12. Cisco nat inside接口,outside接口,nvi接口的区别
  13. 3D河豚鱼—OpenGL着色器(Shader)和GLSL程序
  14. MySQL 在线一键安装
  15. 为什么MySQL InnoDB 存储引擎要用B+树做索引,而不用B树?
  16. 在移动硬盘安装操作系统
  17. android混合开发!带你一起探究Android事件分发机制,终获offer
  18. AppStore上架过程记录(五)-后记
  19. 域控中将计算机账户移动到特定OU下
  20. windows server 2016 活动目录部署系列(七)活动目录的授权还原

热门文章

  1. 解决所有浏览器被“hao 123”拦截的终极大法,试过很多很多方法都不管用,最终这个管用。
  2. Hadoop环境配置(4)(MobaXterm)
  3. 无线AP服务器维保内容及标准,维保范围和要求.DOC
  4. 闲谈IPv6-Loopback网口上的IPv6地址
  5. 124、基于51单片机的智能电表功率电量仿真系统设计
  6. 抖音弹幕抓取(适合纯小白)
  7. 【UE4 第一人称射击游戏】40-改变武器的可见性
  8. 真正的高手,都具备高度抽象能力
  9. 压敏电阻与陶瓷气体放电管使用注意事项
  10. 一大波趣图:关于遗留代码的那些事儿