Axios 基于Promise的http库,可以用在浏览器和node.js中
1.原生ajax
默认情况下,Content-Type:text/plain
发送表单类型数据
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
xhr.send(qs.stringify(data))
发送json类型数据
xhr.setRequestHeader('Content-Type', 'application/json')
xhr.send(JSON.stringify(data))
2.jQuery的ajax
默认情况下,Content-Type:application/x-www-form-urlencoded
默认情况下,参数会被默认转换成表单格式数据
发送表单类型数据
$.ajax({
url,
method,
data: data
})
发送json类型数据
$.ajax({
url,
method,
headers: {
'Content-Type': 'application/json'
},
data: JSON.stringify(loginData)
})
3.axios
特性:
从浏览器中创建 XMLHttpRequests
从 node.js 创建 http 请求
支持 Promise API
拦截请求和响应
转换请求数据和响应数据
取消请求
自动转换 JSON 数据
客户端支持防御 XSRF
1)默认情况下,Content-Type:application/json
默认将请求体中的参数转码成json类型数据
发送表单类型数据
axios({
url,
method,
data: qs.stringify(data)
})
发送json类型数据
axios({
url,
method,
data: {
username: 'admin1',
password: '123321'
}
})
Restful风格
常用的HTTP动词有下面五个(括号里是对应的SQL命令)
GET(SELECT):从服务器取出资源(一项或多项)。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
PATCH(