vue前端接接口的书写方法
vue前端接接口的书写方法
·
一、原生js请求写法
(1)使用XMLHttpRequest
主要分三步:
- 实例化XMLHttpRequest对象,注意需要考虑早期的IE;
- 连接服务器和发送请求
- 接收响应数据
// 创建XHR对象,XMLHttpRequest()其实就是http请求
var xhr = new XMLHttpRequest();
//监听xhr对象的状态修改事件,即监听onreadystatechange事件
xhr.onreadystatechange = function () {
//判断服务器返回的状态信息是否全等于4且http响应状态码是否等于200;
if (xhr.readyState === 4 && xhr.status === 200) {
//打印JSON字符串形式的服务器响应数据;
console.log(xhr.responseText);
//检测数据类型返回string
console.log(typeof xhr.responseText);
}
}
//打开到服务器的连接
//xhr.open('请求方式','请求地址',同步或者异步(同步为true))
xhr.open("GET","http://www.liulongbin.top:3006/api/getbooks",true)
//可设置请求头(具体可百度)
//xhr.setRequestHeader("",)
//注册回调函数,即请求成功后做什么
xhr.onload=function(){
if(this.status==200){
var res=this.response;
}
};
// 调用send函数,发起请求
xhr.send()
而axios则基于原生js接口请求方式的插件,将固定值都换成变量,使用户不用自己再封装请求,但axios是异步请求,添加了promise,具体可以再了解一下promise。
二.axio接口请求的六种常见方式:
1、Get 向特定资源发出请求(请求指定页面信息,并返回实体主体)
2、Post 向指定资源提交数据进行处理请求(提交表单、上传文件),又可能导致新的资源的建立或原有资源的修改
3、Put 向指定资源位置上上传其最新内容(从客户端向服务器传送的数据取代指定文档的内容)
4、Head 与服务器所与get请求一致的相应,响应体不会返回,获取包含在小消息头中的原信息(与get请求类似,返回的响应中没有具体内容,用于获取报头)
5、Delete 请求服务器删除request-URL所标示的资源*(请求服务器删除页面)
6、opions 返回服务器针对特定资源所支持的HTML请求方法 或web服务器发送*测试服务器功能(允许客户端查看服务器性能)
三、未封装时的写法
1、GET
2、POST
以上如果写在同一个文档中,他是同步进行的,万一要上一个请求进行后下一个请求再进行就不行,于是有了并发写法。
3、并发
此时res返回的数据是一个数组,0为第一个接口的数据,1为第二个接口的数据,以此类推,但一直放在文档里容易乱,于是我们把它封装出来,将重复的部分拿出来
4、封装
request.js文件里可以放axios的请求拦截和响应拦截器。
请求拦截器可以放头文件请求判断等,以此判断登录状态;响应拦截器可以在接口出问题时报错,有相应的error
四、封装后相应在js文件中的写法
1、GET
url写地址,method写方式,形参必须是Parmas,写别的不能用增强写法
2、POST
3、DELETE
更多推荐
已为社区贡献1条内容
所有评论(0)