axios-fecth

117 阅读1分钟

1.axios是什么?

axios官方网址:www.axios-js.com/zh-cn/docs/ axios是什么:axios是基于Promise封装的ajax库,基于这个类库发送ajax请求,默认就是基于promise管理的,核心是XMLHttpRequest ==axios基于请求方式分为了:get/head/delete/opations/post/put/patch==方法。

fetch的GET请求

fetch('get获取地址', {
    method: 'GET',
    headers: {
        //设置请求头
        'content-type': 'x-www-form-urlencoded'
    },
    //不管同源还是跨域请求都带着COOKIE信息
    credentials: 'include'
}).then(result => {
    console.log(result);
})

axios框架最大好处

1.从浏览器中创建XMLHttpRequests

2.支持promise API

3.自动转换json数据

4.防止跨站攻击 

 发送一个get请求:

axios.get("tools.action?op=date").then((data) => {
   console.log(data);                  //这里的data是promise对象
   console.log(data.data);             //这里是json数据{code: 1, data: '2021年12月31日'}
   console.log(data.data.data);        //这里json里具体的数据'2021年12月31日'
    //所以用axios直接return对象就行了 到时候d1.data.data就可以拿到'2021年12月31日'了
});

axios往下的底层是用fetch来访问数据,fetch的get方法

fetch("tools.action?op=date").then(function (data) {//promise成功就执行这个方法
    var promise = data.text();   //data是一个promise对象 取出结果文本部分
    return promise;             //传给下一个then
}).then(function (data) {
     //功能实现 显示到界面 没用vue
    var jsonObject = eval("(" + data + ")"); //拿到文本转成json字符串
    if (jsonObject.code == 1) {   //判断json中是否为1  {code: 1, data: '2021年12月31日'}
        document.getElementById("time").innerText = jsonObject.data;//将文本显示上去
    }
})