Ajax组成部分
Ajax(阿贾克斯):全称 Asynchronous Javascript And XML(异步的js与xml) 说人话:用js发送异步的网络请求。A : Asynchronous 异步。同步 :指的是代码按照从上往下顺序执行。异步 :代码不会立即执行,而是要等一会儿执行。J:Javascript。A :And。X : XML 与 XMLHttpRequest。XML : 解决跨平台数据传输。在JSON没有出来以前, 网络传输主要以XML格式数据为主。 后来JSON问世,逐渐取代XML。 但是由于ajax技术出来的比json早,因此xml这个称呼一直保留至今。
Ajax工作流程
- ajax: 在页面不刷新的情况下向服务器请求数据
- XMLHttpRequest: http请求对象,负责实现ajax技术(小黄人)
- 创建XMLHttpRequest对象(小黄人相当于黄袍加身的外卖小哥)
- 设置请求(告诉小黄人服务器地址)
- 发送请求(小黄人去指定地址取外卖(数据)*2G网速:走路去的 ;*3G网速:骑单车去的;*4G网速:骑电动车去的)
- 注册回调函数(小黄人把取回的外卖送到你家门口)
get请求方式
//(1).实例化ajax对象
let xhr = new XMLHttpRequest()
//(2).设置请求方法和地址
//get请求的数据直接添加在url的后面 格式是 url?key=value
xhr.open('get', '接口url')
//(3).发送请求
xhr.send()
//(4).注册回调函数
/* 这个函数不是立即执行的,而是等服务器把数据响应返回才会执行(PS:什么时候执行取决于你的网速快慢) */
xhr.onload = function() {
console.log(xhr.responseText)
}
post请求方式
//(1).实例化ajax对象
let xhr = new XMLHttpRequest()
//(2).设置请求方法和地址
xhr.open('post', '')
//(3).设置请求头(post请求才需要设置)
xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded')
//(4).发送请求 : 参数格式 'key=value'
xhr.send('key=value')
//(5).注册回调函数
xhr.onload = function () {
console.log(xhr.responseText)
}
get请求与post请求区别
- 传参方式不同
- get在url后面拼接(请求行)
- post在请求体传参
- 大小限制不同
- get有大小限制,不同浏览器大小限制不同。一般2-5 MB
- post没有大小限制 3.安全性不同
- get参数直接暴露在url,不安全(一般查询数据都是get)
- post参数在请求体中,更加安全(一般登录注册必须是post)
- 传输速度不同
- get传输速度快
- post传输速度慢
其他请求方法
- put和pacth区别
- 全局更新 : put
- 局部更新: patch
| 请求方式 | 描述 | 特点 |
|---|---|---|
| post | 一般用于新增数据(提交数据) | 请求体传参 |
| get | 一般用于查询数据(查询数据) | 请求行(url)传参 |
| delete | 一般用于删除数据 | 请求体传参 |
| put | 一般用于更新全部数据 | 请求体传参 |
| patch | 一般用于更新局部数据 | 请求体传参 |