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. 网站自动登录功能的设计[转]
  2. 经典C语言程序100例之三
  3. 前端学习(2640):懂代码之登录页login.vue存入用户信息
  4. touchesEnded不响应
  5. hibernate中antlr对于hql的词法分析源码解析
  6. selenium 实现循环点击_-循环点击遇到的坑(每次点击后返回,页面元素都会变化的解决方法)...
  7. EfficientNet-B4-Ranger:自然复杂环境下温室黄瓜病害识别新方法(同时存在两种疾病)
  8. 一次性搞懂JavaScript 执行机制
  9. 洛谷——P2656 采蘑菇
  10. 史上最全科研网站!!!
  11. Python Django 个人博客源码(附个人源码和网站参考)
  12. 一个有趣的555定时电路,有点意思哈哈
  13. 如何快速安装rational rose
  14. RocketMQ(消息中间件)
  15. 无主3局域网找不到服务器,无主之地3局域网模式设置方法攻略 无主之地3局域网怎么用...
  16. m4a转换成mp3如何操作?
  17. 不支持IE8及以下版本
  18. 财富自由的三大秘密(转)
  19. SQL中去除重复数据的几种方法,我一次性都告诉你​
  20. 单片机光敏电阻c语言程序怎么写,求助 关于光敏电阻模块的单片机程序

热门文章

  1. Unity3D学习之旅5-RPG游戏-更新与踩坑实录
  2. VMware虚拟机磁盘越来越大解决办法
  3. VSC/SMC(八)——基于慢时变干扰观测器的滑模控制(含程序模型)
  4. 空天地一体化应急通信研究
  5. 《30天自制操作系统》U盘启动,真机运行(16天)
  6. c++中istringstream及ostringstream超详细说明
  7. 2022危险化学品生产单位安全生产管理人员特种作业证考试题库及答案
  8. windows下powershell执行脚本报错
  9. 为什么男的喜欢找小三
  10. outlook使用方法技巧总结