zoukankan      html  css  js  c++  java
  • Axios

    Axios

    什么是:Axios是一个基于promise的HTTP库,可以用在浏览器和node.js中。

    何时:

            主要用于创建请求

             在浏览器中,创建xhr请求,在node.js中,创建普通http请求

    为什么:

             浏览器中创建xhr请求,4种方案:

             ①使用原生XXHR对象----麻烦

             ②使用jQuery的封装函数----大材小用(jQuery中岂止ajax,还包含大量DOM/动画等操作,

    而Vue只使用ajax,别的都不用。)

             ③使用官方提供的VueResource插件----官方废弃

             ④使用第三方工具Aaxios----本身与Vue没有任何关系

    Vue.js生态系统(Ecosystem):Vue.js、Axios、Vue-Router、Vuex、MintUI、ElementUI、Weex

    如何:

           1. ①在HTML页面中引入JS文件

               <script src="js/axios.min.js"></script>

               ②在全局添加axios对象,包含发送http请求的api

           2.调用axios,发起异步请求

    Get请求: 

           ①axios.get("url",{ 

                        params:{ 

                             //get方式下,随url发送的参数

                        }

               }).then(res=>{  ...  })

           ②服务器端跨域CORS:

    不能用res.send(...)

     只能res.writeHeader(200,{"Access-Control-Aallow-Origin":"" });

    res.write(JSON.stringify(result));

    res.end();

    Post请求:

            ①axios.post("url","变量=值&变量=值&...").then()

              坑!!!get和post方法传参时,配置属性名不一样:

               Get请求传参,用的是params:{  }对象

               Post请求传参,必须用字符串

            ②解决:引入qs模块  <script src="js/qs.min.js"></script>

                       使用axios.post("url",Qs.stringify({参数:值,参数:值,...})).then()

                       结果:stringify会将对象转化为queryString语法

              坑!!!:获得响应主体的数据,数据不是直接返回,而是包裹在一个对象的data属性中返回

              无论时get还是post方式请求,获得响应数据都是一个全新的对象,传统的响应数据,包含在该对象res.data属性中

              所以,res.data,才能获得之前的响应结果。

     

  • 相关阅读:
    用于表示socket的结构体
    Parcelable与Serializable接口的用法和区别
    java类初始化顺序
    孙卫琴java面向对象编程学习笔记
    linux档案权限
    js弹出模态与非模态页面
    ubuntu开启默认的root用户
    java开发实战学习笔记1
    JQuery ajax回调函数
    hadoop命令
  • 原文地址:https://www.cnblogs.com/sna-ling/p/13192873.html
Copyright © 2011-2022 走看看