美文网首页
AJAX入门

AJAX入门

作者: 仙姑本姑 | 来源:发表于2019-12-23 00:36 被阅读0次

AJAX( A new Approach to Web Applications)

是对 Asynchronous JavaScript + XML的简写。这一技术能够向服务器请求额外的数据,而无须卸载页面。
Ajax技术的核心是 XMLHttpRequest 对象(简称 XHR),XHR 为向服务器发送请求和解析服务器响应提供了流畅的接口。能够以异步方式从服务器取得更多信息,意味着用户单击后,可以不必刷新页面也能取得新数据。

所以,可以使用 XHR 对象取得新数据,然后再通过 DOM 将新数据插入到页面中。

不用刷新整个页面就可以和服务器通讯的方法
  • Flash;
  • Java applet
  • 框架:如果使用一组框架构造了一个网页,可以只更新其中一个页面,而不必惊动整个页面
  • 隐藏的iframe
  • XMLHttpRequest: 该对象是对JS的一个扩展,可以使网页与服务器进行通信,是创建Ajax应用的最佳选择。实际上通常把Ajax当成XMLHttpRequest对象的代名词。
9dfc9b8e1d0579e62bc33654d79017f.png
创建 XMLHttpRequest对象的语法:
var xhr = new XMLHttpRequest();

(IE5 和 IE6)使用ActiveX 对象:

var xhr = new ActiveXObject("Microsoft.XMLHTTP");

为了应对所有的现代浏览器,包括 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");
  }

AJAX XHR 向服务器发送请求

XMLHttpRequest 对象用于和服务器交换数据。
如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:

xmlhttp.open("GET","test1.txt",true);
xmlhttp.send();
方法 描述
open(method,url,async) 规定请求的类型、URL 以及是否异步处理请求。
method:请求的类型;GET 或 POST
url:文件在服务器上的位置
async:true(异步)或 false(同步)
send(string) 将请求发送到服务器。string:仅用于 POST 请求

与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。
然而,在以下情况中,请使用 POST 请求:

  • 无法使用缓存文件(更新服务器上的文件或数据库)
  • 向服务器发送大量数据(POST 没有数据量限制)
  • 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

open() 方法的 url 参数是服务器上文件的地址:该文件可以是任何类型的文件,比如 .txt 和 .xml,或者服务器脚本文件,比如 .asp 和 .php (在传回响应之前,能够在服务器上执行任务)。

AJAX 服务器响应

如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。

属性 描述
responseText 获得字符串形式的响应数据。
responseXML 获得 XML 形式的响应数据。

如果来自服务器的响应并非 XML,请使用 responseText 属性,例如:
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
如果来自服务器的响应是 XML,而且需要作为 XML 对象进行解析,请使用 responseXML 属性

AJAX - onreadystatechange 事件

onreadystatechange 事件
当请求被发送到服务器时,我们需要执行一些基于响应的任务。
每当 readyState 改变时,就会触发 onreadystatechange 事件。
readyState 属性存有 XMLHttpRequest 的状态信息。

属性 描述
onreadystatechange 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
readyState 存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪
status 200: "OK"
404: 未找到页面

所以,当 readyState 等于 4 且状态为 200 时,表示响应已就绪:

xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }

相关文章

  • ajax

    特点 ajax ajax入门 ajax请求与发送数据 ajax工具类封装 type:请求类型url:请求地址dat...

  • 【Java Web开发系列课程】Ajax快速入门

    免费课程链接:【Java Web开发系列课程】Ajax快速入门 简介: Ajax是Asynchronous Jav...

  • JavaScript : 浅讲ajax

    1.ajax入门案例 1.1 搭建Web环境 ajax对于各位来说,应该都不陌生,正因为ajax的产生,导致前台页...

  • AJAX入门

    处理跨域的主要方法 JSONP CORS本文主要讨论CORS解决AJAX因为浏览器同源策略不能跨域请求数据的问题。...

  • Ajax入门

    Ajax入门 简介 Ajax是一种用于创建快速动态网页的技术。 特点 1.通过在后台与服务器进行少量数据交换,A级...

  • Ajax入门

    什么是Ajax Ajax是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实...

  • Ajax入门

    Ajax简介 Ajax即“Asynchronous JavaScript and XML”(异步的JavaScri...

  • Ajax入门

    一、Ajax的概述   Ajax是异步的JS和XML,它并不是一种新的编程语言,是一种使用了现有标准的新方法。  ...

  • AJAX入门

    1.历史上发送请求的方式 用form发请求会刷新页面或新开页面用a发get请求会刷新页面或新开页面用img发请求,...

  • Ajax入门

    前后端数据交互(入门篇) 很多第一次听说Ajax技术的人可能比较茫然,也不知道这个东西是用来干嘛的。举个例子,比如...

网友评论

      本文标题:AJAX入门

      本文链接:https://www.haomeiwen.com/subject/lvhwnctx.html