1. 创建 XMLHttpRequest 对象,也就是创建一个异步调用对象
2. 创建一个新的 HTTP 请求,并指定该 HTTP 请求的方法、URL 及验证信息
3. 设置响应 HTTP 请求状态变化的函数
4. 发送 HTTP 请求
你使用过哪些ajax?
从原生的XHR到jquery ajax,再到现在的axios和fetch。
axios和fetch都是基于Promise的,一般我们在使用时都会进行二次封装
讲到fetch跟jquery ajax的区别,这也是它很奇怪的地方
当接收到一个代表错误的 HTTP 状态码时,从 fetch()返回的 Promise 不会被标记为 reject, 即使该 HTTP 响应的状态码是 404 或 500。相反,它会将 Promise 状态标记为 resolve (但是会将 resolve 的返回值的 ok 属性设置为 false ), 仅当网络故障时或请求被阻止时,才会标记为 reject。 默认情况下, fetch 不会从服务端发送或接收任何 cookies, 如果站点依赖于用户 session,则会导致未经认证的请求(要发送 cookies,必须设置 credentials 选项)
- 介绍
- 原生JS
- 1.ES6的新特性
- 2.JS的数据类型
- 3.定义函数的方法
- 4.JS作用域的理解
- 5.闭包的理解
- 6.数组去重
- 7.原型及原型链
- 8.Object.create的作用
- 9.new的执行过程是怎么回事
- 10.call,apply,bind三者的区别
- 11.实现类的继承
- 12.谈谈你对this指向的理解
- 13.DOM
- 14.JS的异步编程
- 15.正则
- http&ajax
- 1.TCP/IP的三次握手和四次挥手
- 2.http常用状态码(http-status-code):
- 3.从浏览器输入URL按回车到页面显示都发生了什么?
- 4.HTTPS和HTTP的区别
- 5.浏览器缓存?
- 6.ajax四步
- 7.一般我们再拦截器中都会写什么代码?
- 8.get请求和post请求有什么区别?什么时候使用post?
- 9.Cookie 和 Session 的区别?
- 10.Token 相关
- 11.什么是同源策略?