fetch和axios的使用

6 篇文章 0 订阅

fetch和axios的使用

告别XMLHttpRequest

XMLHttpRequest是一个设计非常粗糙得API,配置和调试方式非常混乱,而去基于事件得已不模型邪气来不友好。兼容性不好

fetch()方法与XMLHttpRequest类似,fetch也可以发起ajax请求,但是与XMLHttpRequest不同的是,fetch方式使用Promise,相比较XMLHttpRequest更加的简洁。

fetch的使用

url参数是必须要填写的,option可选,设置fetch调用时的Request对象,如method、headers等
比较常用的Request对象有:

method - 支持 GET, POST, PUT, DELETE, HEAD
url - 请求的 URL
headers - 对应的 Headers 对象
body - 请求参数(JSON.stringify 过的字符串或’name=jim\u0026age=22’ 格式)

fetch方法的then会接收一个Response实例,值得注意的是fetch方法的第二个then接收的才是后台传过来的真正的数据,一般第一个then对数据进行处理等。

fetch在get请求中的使用

在methods:里面定义一个方法btnFetch()

btnFetch(){
	fethch("json路径")
		.then(res=>res.json())
		.then(res=>{
			console.log(res)
		})
		.cathch(err=>{
			console.log(err)
		})
}
fetch在post请求中的使用
//post-1
fetch("路径",{
	method:'post',
	headers:{
		"Content-Type":"applicecation/x-www-form-urlencoded"//编码格式
	},
	body:"name=yuanrun&age=100",
}).then(res=>res.json()).then(res=>{console.log(res)});



//post-2
 // bookname=js编程&author=丁鹿学堂学员&publisher=北京出版社
fetch("http://xxxxxxxxxxxxxxxxxxxx",{
	method:'post',
	headers:{
		"Content-Type":"applicecation/json"//编码格式
	},
	body:JSON.stringify({
		//请求的数据
        bookname: 'jq编程',
        author: '学员',
        publisher: '上海出版社',
	})
}).then(res=>res.json()).then(res=>{console.log(res)});

axios的使用

Axios 是一个基于 promise 的网络请求库,可以用于浏览器和 node.js

https://www.axios-http.cn/

特性
  • 从浏览器创建 XMLHttpRequests
  • 从 node.js 创建 http 请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求和响应数据
  • 取消请求
  • 自动转换JSON数据
  • 客户端支持防御XSRF

使用

  • 引入

    <script src="./axios.min.js"></script>
    
  • 使用

    // axios发起get请求
    btnAxios(){
    	axios.get("http://www.xxxxxxxxxx").then(res=>{
    		this.datalist=res.data.data.films
    	})
    }
    
    // axios发起post请求
    btnAxios(){
    	//axios.post("http://www.xxxxxxxxxx","bookname=js编程&author=丁鹿学堂学员")
    	axios.post("http://www.xxxxxxxxxx"," bookname: 'jq编程',author: '学员',")
            }.then((res) => {
                    //请求成功执行then方法
                    // res 响应成功返回的内容
                    console.log(res)
                  })
                  .catch((err) => {
                    console.log(err)
                  })
    
    
    
    
    
        // bookname=js编程&author=丁鹿学堂学员&publisher=北京出版社
        axios({
          method: 'post', //请求方式
          url: 'http://www.liulongbin.top:3006/api/addbook', //请求的url
          data: {
            //请求的数据
            bookname: 'jq编程',
            author: '学员',
            publisher: '上海出版社',
          },
        })
          .then((res) => {
            //请求成功执行then方法
            // res 响应成功返回的内容
            console.log(res)
          })
          .catch((err) => {
            console.log(err)
          })
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值