app接口服务器请求为什么会报错307_Vue接口代理和数据Mock,你会了吗
基于Vue和React脚手架演示各自项目的接口代理和数据Mock.
Vue接口代理实现步骤
vue中文官方文档:https://cn.vuejs.org/
vue-cli中文官方文档:https://cli.vuejs.org/zh/
Vue4.0脚手架安装(全局安装,不要安装vue-cli)
npm install -g @vue/cli# ORyarn global add @vue/cli
Vue项目创建
vue create my-project# 或者启动ui系统来创建项目(不推荐,作用不大)vue ui
注:Vue-Cli4.0创建的项目,隐藏了webpack配置信息。
安装必要插件
# axios发请求 , mockjs做数据mockcnpm install axios mockjs --save # OR (下面是语法的简写)cnpm i axios mockjs -S
代码编写
# App.vue添加请求import axios from 'axios'export default { name: 'App', data(){ return { time:0 } }, mounted(){ axios.get('http://www.imooc.com/activity/servicetime').then((res)=>{ this.time = res.data; }) }}
很显然这种情况会报错,因为浏览器有安全限制,不允许随意调用其它网站的接口,需要遵循同源策略(同协议、同域名、同端口)
所以,我们需要添加接口代理来解决,事件工作当中,我们前后端做接口联调时,同样基于接口代理的方式:
创建vue.config.js配置
/* vue.config.js */module.exports = { devServer:{ host:'localhost', port:8080, proxy:{ '/activity':{ target:'http://www.imooc.com' } } } }
这个配置可以设置启动的端口、主机和接口代理地址,拦截到/activity后会转发到另外一台服务器,从而解决跨域,此配置仅用于本地开发环境,线上环境需要同步修改Nginx.conf配置。
以上是Vue项目接口代理的方案;
Vue项目在开发阶段如何做数据Mock呢?
常用的mock方案如下:
线上easy-mock平台(目前已经挂了,不提供服务了)
本地搭建easy-mock平台(https://github.com/easy-mock/easy-mock)
mockjs插件在前端实现mock
mockjs插件在后端实现mock
在public下创建json文件,实现数据mock
以上是我个人所用到过的各种mock方案,其中easy-mock是最好用的,然而目前已经不提供服务了,有条件的用户,可以在公司搭建easy-mock平台,如果没有条件,可以继续使用mockjs插件来实现。
Vue集成mockjs方案
mock中文文档:http://mockjs.com/
创建文件
添加mock代码
import Mock from 'mockjs'export default { init(){ Mock.mock('/api/user/login',{ "status": 0, "data": { "id|+1": 0, "list|10":[ { "title":"欢迎加入前端未来" } ], "username": "@cname", "email": "futurefe@futurefe.com", "phone": 17611021717, "subject":"前端未来" } }); }}
加载mock
import mock from './mock'# 判断是否开启mockconst isMock = true;if(isMock){ mock.init()}
接口调用
<script>import axios from 'axios'export default { name: 'App', components: { HelloWorld }, data(){ return { time:0, user:{} } }, mounted(){ // 数据mock axios.get('/api/user/login').then((res)=>{ this.user = res.data; }) }}script>
数据验证
以上是给大家提高Vue项目接口代理和数据Mock的方案,希望对大家有所帮助!
app接口服务器请求为什么会报错307_Vue接口代理和数据Mock,你会了吗相关推荐
- PHP测试使用postman发送post请求,却报错此接口不支持get请求的原因
https://blog.csdn.net/a624193873/article/details/107739640
- actions vuex 请求_vue中vuex的actions里面请求接口,提交给mutations报错
问题描述 vue中vuex的actions里面请求接口,提交给mutations报错 问题出现的环境背景及自己尝试过哪些方法 相关代码 // 请把代码文本粘贴到下方(请勿用图片代替代码) action ...
- 服务器解析xml文件报错:org.dom4j.DocumentException: Error on line -1 of document
服务器解析xml文件报错:org.dom4j.DocumentException: Error on line -1 of document : Premature end of file. Nes ...
- tp6 接口上传文件/图片报错 fopen(/www/wwwroot/***/public/storage/**failed to open stream: Permission denied
tp6 接口上传文件/图片报错 fopen(/www/wwwroot/***/public/storage/**failed to open stream: Permission denied 这是因 ...
- linux服务器运行matlab文件报错
linux服务器运行matlab文件报错 在linux服务器上安装matlab之后,如果想要运行matlab程序,通常的做法是先cd到matlab文件所在的文件夹,然后输入指令 % 假定matlab文 ...
- 页面发送请求到后台报错“Empty or invalid anti forgery header token.”问题解决
页面发送请求到后台报错"Empty or invalid anti forgery header token."问题解决 参考文章: (1)页面发送请求到后台报错"Emp ...
- 金蝶osf接口开发_调用OSF接口取待办任务总数报错!急
总部老师,好: 在调用OSF接口取待办任务总数报错 Method failed: HTTP/1.1 404 Not Found org.apache.commons.httpclient.HttpEx ...
- Pyton接口自动化相关【易报错问题及解决方法】
Pyton接口自动化相关[易报错问题及解决方法] 目录:导读 Python怎么链接数据库 python 链接数据库时报错 TypeError: %d format: a number is requi ...
- HTTP请求出现403报错
HTTP请求出现403报错 在开发中使用http发送请求时由于重定向而出现的403错误 因为当前请求的这个url回跳转到另一个url 所以会出现403问题 将当前url在浏览器打开查看请求 我们需要取 ...
最新文章
- SAP MM 外部采购流程里的Advanced Return Management
- python点的作用-python中三引号的作用(逗号的两点总结)
- VS2008文件操作出现问题
- 什么是Java多态?如何实现Java多态?
- php更新svn,利用php进行svn更新的php代码及php执行svn更新注意事项
- 重磅!Nature盘点年度十佳论文,生命科学占据半壁江山,中国学者表现亮眼
- MongoDB---之---可视化客户端
- Mysql-mmm配置全自动切换主从关系和读写分离
- 嵌入式 Web Server 温度检测系统
- 为什么很多企业使用TOM邮箱收发内部邮件?
- java截取图片截图画框
- 【PS】如何简单的处理带晒伤皮肤的婚纱照?红斑/脱皮/减淡红色
- 我眼中的程序化交易之路
- 【SpringCloud 2021.0.0】12、路由网关Gateway之简介 (spring-boot 2.6.3)
- python快速实现简易超级玛丽小游戏
- android studio Emulator is outdated
- 中科院读芯术python答案_Python调用中科院NLPIR(ICTCLAS2015)详解 刘超(lch614730@163.com)...
- 1.7 正则表达式【匹配空白字符和非空白字符】
- 微信小程序页面跳转失效原因
- 饿了么红包、美团优惠券开发
热门文章
- Counter 用法 from collections import Counter
- 涉嫌内幕交易?美国SEC对马斯克展开调查
- 三家快递公司涨派费:9月1日起每票上调0.1元
- 产业链人士:LCD显示驱动芯片价格有望趋于稳定
- 英伟达2022财年第二季度获得创纪录营收65.1亿美元
- 特斯拉同意支付150万美元和解电池电压降低的索赔
- 诺基亚赢得运营商Orange比利时5G合同,华为回应...
- 2020年中国年票房累计已突破122亿元
- 华为、小米和OPPO将采用联发科最新5G SoC天玑720
- 腾讯阿里达成“共识”!马化腾称“用链量”“用云量”或成数字时代的重要指标...