ajax

什么是ajax

ajax并不是一种新技术,而是一种技术方案。它是 Asynchronous JavaScript and XML 的缩写,指的是通过 JavaScript 的异步通信,从服务器获取 XML 文档从中提取数据,再更新当前网页的对应部分,而不用刷新整个网页。
简单来说,就是用JS向服务器发送一个请求,获取服务器返回的内容。
跟以前没有ajax时,浏览器发送请求的情况比起来(例如a标签),ajax不会导致页面刷新即可更新网页的某部分。

如何实现ajax

  • XMLHttpRequest对象
  • fetch(较新)

使用XMLHttpRequest对象实现ajax

1.创建 XMLHttpRequest 实例

var xhr = new XMLHttpRequest();

2.设置请求参数

xhr.open();

可接受五个参数:

  • method:表示 HTTP 动词方法,比如GET、POST、PUT、DELETE、HEAD等。
  • url: 表示请求发送目标 URL。
  • async: 布尔值,表示请求是否为异步,默认为true。如果设为false,则send()方法只有等到收到服务器返回了结果,才会进行下一步操作。该参数可选。由于同步 AJAX 请求会造成浏览器失去响应,许多浏览器已经禁止在主线程使用,只允许 Worker 里面使用。所以,这个参数轻易不应该设为false。
  • user:表示用于认证的用户名,默认为空字符串。该参数可选。
  • password:表示用于认证的密码,默认为空字符串。该参数可选。

3.设置监听函数

xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {   //这里的status不只是只有200
  console.log(xhr.responseText)   //xhr.responseText是服务器返回的内容
  }
};

4.发送请求

xhr.send();

请求的内容

目前来说,服务器返回的最常见的是 JSON 格式的数据,XML 格式已经过时了。
当然,除了JSON格式的数据,其它格式的数据也能通过ajax请求。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容