时间:2021-05-18
在项目中,常常需要从后端获取数据内容。特别是在前后端分离的时候,前端进行了工程化部署,跨域请求成了一个前端必备的技能点。好在解决方案很多。
在vue中,在开发中,当前使用较多的是axios进行跨域请求数据,但不少人遇到如下问题:
•异步通信,无法同步执行
•无法集中管理
•不便阅读
•还未请求成功就调转了
•then里面的逻辑越来越繁杂
以往的网络请求的写法如下:
// main.js// 引入axiosimport axios from 'axios'Vue.prototype.$axios = axios;// vue页面中的使用// getlet url = '地址'this.$axios.get(url,{ params:{} // 参数信息}) .then((res) => { // 成功后执行语句 }) .catch((err) =>{ // 网络中断或失败执行语句 })// postlet url = '地址'this.$axios.post(url,{ // 参数信息}) .then((res) => { // 成功后执行语句 }) .catch((err) =>{ // 网络中断或失败执行语句 })或许在目前的过程中异步能够更好的解决用户体验感,先加载后弹出。但总有那么一个场景我们需要大量的内容进行处理,而且前后有明显的顺序执行的关系,那么异步通信可能会对你造成不必要的问题。所以,解决运用async/await解决异步通信问题
在main.js旁边新建http.js文件
// http.js
引入axios
并在main.js入口引入
// 引入http请求import http from './http.js'Vue.prototype.$http = http现在就可以在页面中使用了
// 在vue中使用// getasync login () { let url = '地址' let params = {} // 参数 let res = await this.$http.get(url,params)}// postasync login () { let url = '地址' let params = {} // 参数 let res = await this.$http.post(url,params)}async 放在方法前面
await 放在$http前面就OK了
单词示意:
async:异步。
await:等待。
总结
以上所述是小编给大家介绍的解决vue跨域axios异步通信问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
最开始的时候,因为请求后台出现跨域问题。查找资料配置proxyTable,解决跨域问题。如下图所示:axios请求页面:this.$axios.post('/a
使用vue+axios+springboot前后端分离项目时会出现跨域问题解决方式:一:全局配置/***就是注册的过程,注册Cors协议的内容。*如:Cors协
VueCli4创建项目之后,没有配置vue.config.js,如果直接发起axios请求,可能会引起跨域问题.以豆瓣电影首页的最近热门为例:axios({me
vue-cli中可以通过配置proxyTable解决开发环境的跨域问题,具体可以参考这篇文章:Vue-cliproxyTable解决开发环境的跨域问题如果后端接
如何在vue里面优雅的解决跨域,路由冲突问题当我们在路由里面配置成以下代理可以解决跨域问题proxyTable:{'/goods/*':{target:'htt