转载自
https://www.zhihu.com/question/532267866/answer/2506456679
我挺讨厌ajax这个词的,因为它名不副实。它的全称是Asynchronous JavaScript and XML。注意后面那个XML了吗?实际上现在的web开发交换数据都很少用XML了,早就普及JSON
了。甚至有时候开发者偷懒,把ajax的请求的async设置为false,这就更搞笑了,既不XML也不asynchronous。
也许是得益于jQuery当年的普及,jQuery附带的$.ajax,几乎成了异步请求的代名词。但这造就了许多jQuery程序员,他们只懂得用$.ajax来发起请求,不知道$.ajax其实也是对别的接口的封装,看到$.ajax变成Axios就觉得非常困惑。
其实$.ajax和Axios底层封装的都是XMLHttpRequest,XMLHttpRequest典型用法:
const xhr = new XMLHttpRequest()
xhr.open('POST', 'http://localhost', true)
xhr.send('test')
xhr.onload = () => {
console.log(xhr.responseText)
}
无论你用$.ajax还是Axios,结果还是调用XMLHttpRequest,并无本质区别。