前端之ajax笔记(一)

本文由何小蒙原创,如需转载要注明来源。

一直用的axios,属于会用但是对原理不精通,知道axios是对ajax的封装。现在重新学习下。
注:本人理解,仅供参考。

js原生使用方法
var xmlhttp = new XMLHttpRequest();
xmlhttp.open('GET','../../JIEKOU', true); // GET方法异步请求
xmlhttp.send(null);

send里面如果不需要发送参数,必须传入null。因为这个参数对有些浏览器是必需的。

XMLHttpRequest 对象

这个对象是用于我们熟知的功能:对服务器发送请求,处理从服务器返回的数据。

readyState
0:未初始化
1:已经open()但是还没send()
2:已经send()但是还没返回值
3:获取到部分返回值
4:获取到全部返回值

通常我们只对状态4感兴趣,通过onreadystatechange来判断状态的改变

xmlhttp.onreadystatechange = function() {
  if (xmlhttp.readystate == 4) {
   // 此处使用xhr对象不使用this是因为onreadystatechange作用域的问题
   // 使用this此函数会执行失败
  }
}
XMLHttpRequest 2

因为xhr用的人太多了,w3c就直接出了个规范,还稍微扩展了下。

  • formdata 可以直接用表单了,通过append设置表单
  • timeout 设置超时,超时后用ontimeout来处理
  • overrideMimeType 重写xhr响应的MIME类型

最后这个咱基本也没用过,以前基本是用来处理xml文件的,大致了解下。估计好久不用过段时间又得忘

其他相关系列:
前端之ajax笔记(一)
前端之ajax笔记(二)
前端之ajax笔记(三)

你可能感兴趣的:(前端之ajax笔记(一))