# ajax 和 axios

# ajax

ajax和axios都是数据请求的一种
ajax主要就是为了完成对数据的请求,而请求又分为post请求和get请求
例如:
		如果接口中要求请求方式为post
    那么在发送ajax请求的时候就使用:
    		$.post("请求的地址")
		如果接口中要求请求方式为get
    那么发送ajax请求的时候就使用:
    		$.get("请求的地址")
		当然对于ajax请求会有两种情况:
    		第一种:$.get 或 $.post
						$.get("http://www.xxx.com",{参数的键:参数的值},function(形参){
              而这个回调函数的形参就是请求接口返回的数据
            })
				例如:
        		接口的请求地址:http://www.xiaosutongxue.com/index
						请求这个接口需要参数:id
            请求的方式:get
            那么我们在请求的时候就需要写成:
            $.get("http://www.xiaosutongxue.com/index",{id:12},function(res){
              这里的res就是接口返回的数据
            })
            当然如果请求的方式是post,那么就写成
            $.post("http://www.xiaosutongxue.com",function(res){
              这里的res也是请求这个接口的返回结果
            })
				第二种:使用 $.ajax进行做数据请求
						语法格式:
            		$.ajax({
                  //这里的url就是你请求接口的地址
                  url:"http://www.xiaosutongxue.com",
                  //这里的data键就是你在请求这个接口的时候所需要携带的参数
                  //当然,需不需要携带参数需要看接口文档中是否需要
                  data:{
                    参数的键:参数的值
                  },
                  //success这个键后边的函数会在请求成功后自动执行
                  //然后会在请求成功后将请求成功的结果放到形参的位置
                  success:function(形参){
                    所以这个形参就是你请求这个接口得到的数据,我们可以把得到的数据
                    进行循环到任何元素中
                  },
                  //这个error是错误的意思,只有在请求失败的时候才会执行这个error后边的函数
                  //当然错误信息也会存储在这个err参数中
                  error:function(err){
                    
                  }
                })
				以上的两种方式都是用于ajax数据请求,目的就是为了得到接口中的数据
        拿到数据后,想用数据干什么都可以

# axios

axios的语法格式:
		axios数据请求的语法和ajax几乎一致
    但是axios是需要在vue脚手架项目中使用的,在使用之前需要安装
    安装的语法格式:
    		npm i axios -S
		也是有post和get请求的:
    		语法格式:
        		第一种语法格式:
            		axios.get("请求的路径")
								.then(res=>{
                  如果接口请求成功,那么res就是请求成功的结果
                })
								.catch(err=>{
                  如果请求失败,那么err里边就是失败的错误信息
                })
		如果在axios进行数据请求的时候需要传递参数,那么语法格式就需要写成:
    		axios.get("请求的地址+路径",{
          params:{
            参数的键:参数的值
          }
        })
				.then(res=>{
          如果接口请求成功,那么res就是请求成功的结果
        })
				.catch(err=>{
          如果请求失败,那么err里边就是失败的错误信息
        })
		例如:
    		如果我们要请求的接口地址是:http://www.xiaosutongxue.com/index
				请求需要的参数是:let par = {id:10,name:abc}
				请求的方式为:post
        那么我们就可以写成:
        		axios.post("http://www.xiaosutongxue.com/index",par)
						.then(res=>{
              	如果接口请求成功,那么res就是请求成功的结果
            })
						.catch(err=>{
              如果请求失败,那么err里边就是失败的错误信息
            })
		当然我们如果在记住axios数据请求的时候,我们可以将我们请求成功的结果存储到本组件中的data数据中
    例如:
    		data(){
          return {
            list:[]
          }
        },
        created(){
          axios.post("http://www.xiaosutongxue.com/index",par)
          .then(res=>{
            这里的res就是请求成功的数据,我们就可以进行将请求到的数据进行存储到我们自己的data中
            this.list = res;
          })
          .catch(err=>{
            如果请求失败,那么err里边就是失败的错误信息
          })
        }
		
		总结:
    		不管使用什么方式进行接口的数据请求,都必须先记住语法格式,然后自己找一个接口
        进行测试,如果能拿到数据,就表示学会了