Vue进阶(二十): Vue中的请求方式

举报
SHQ5785 发表于 2020/12/30 00:44:55 2020/12/30
【摘要】 1.resource请求 cnpm install vue-resource --save import VueResource from 'vue-resource' Vue.use(VueResource) this.$http.get("") 1234 2.axios 请求 cnpm install axios --save axios.defaults...

1.resource请求

cnpm install vue-resource --save 
import VueResource from 'vue-resource'
Vue.use(VueResource)
this.$http.get("")

  
 
  • 1
  • 2
  • 3
  • 4

2.axios 请求

cnpm install axios --save 
axios.defaults.baseURL = "根地址"
//vue页面引入import axios from 'axios'
axios.get(请求的地址)

  
 
  • 1
  • 2
  • 3
  • 4

3.axios 请求

cnpm install axios --save 
Vue.prototype.http = axios //配置Vue原型
this.http.get("")

  
 
  • 1
  • 2
  • 3

4.fetch(“”) // es6的请求方式
fetch是新一代XMLHttpRequest的一种替代方案。无需安装其他库。可以在浏览器中直接提供其提供的api轻松与后台进行数据交互。

基本用法:

fetch(url,{parmas}).then(res=> return res.json()  //返回promise对象
 ).then(data=>{
  return data //返回真正数据
}).catch(err=>{
 throw new Error(err)
})

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

(1) get 方式:

注意:如果是提交表单元素,那么一定要添加headers参数, 而且content-Type的值必须是application/x-www-form-urlencoded

heders:{
‘Content-Type’:“application/x-www-form-urlencoded”
},

(2)通过vuex请求数据

export default {
  name:"Login2",
  data(){ return{ mobile:"", password:"", val:"" }
  },
  methods:{ go(){ var data={ mobile:this.mobile, password:this.password } this.$store.dispatch("login",data).then(res=>{ this.arr=res.data.data }).catch(err=>{ console.log("登录;err",err) }) }
  }
} 
  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

store.js 中对应的action

 login({commit},payload){ return new Promise((resolve,reject)=>{ fetch("/account/login",payload).then(res=>{ resolve(res) }).catch(err=>{ console.log("登录--err:",err) reject(err) }) }) },

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

通过vuex实现请求,fetch发送请求可以不用带method,body和headers等参数

文章来源: shq5785.blog.csdn.net,作者:No Silver Bullet,版权归原作者所有,如需转载,请联系作者。

原文链接:shq5785.blog.csdn.net/article/details/85115392

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。