最开始的时候,因为请求后台出现跨域问题。
查找资料配置proxyTable,解决跨域问题。如下图所示:
axios请求页面:
this.$axios.post('/api/weblogin/login',data).then(res=>{ console.log(res) })
后面遇到需要连接不同的接口域名,我在proxyTable里增加了一个apiGas。axios请求存在获取得到api但是不能获取apiGas(提示请求资源不存在)。
proxyTable: { '/api': { target: 'http://', // 接口域名 changeOrigin: true, //是否跨域 pathRewrite: { '^/api': '/bsgzf/api/auth/' , //需要rewrite的, }, }, '/apiGas': { target: 'http://', // 接口域名 changeOrigin: true, //是否跨域 pathRewrite: { '^/apiGas':'/bsgzf/api/gas/' } }, },
查找了很多资料都没有具体的解决方法,偶然在一个相同的问题下发现一个回复,让把这两个链接位置换一下,抱着试一试的态度换了,重新运行,结果两个都可以获取了。不知道什么原理???有知道的请指教!!!
正解:
proxyTable: { '/apiGas': { target: 'http://', // 接口域名 changeOrigin: true, //是否跨域 pathRewrite: { '^/apiGas':'/bsgzf/api/gas/' } }, '/api': { target: 'http://', // 接口域名 changeOrigin: true, //是否跨域 pathRewrite: { '^/api': '/bsgzf/api/auth/' , //需要rewrite的, }, }, },
补充知识:Vue里的proxyTable解决跨域,api接口管理
本文单纯的介绍Vue项目中接口的集中管理以及跨域的解决方法。
1.webpack里的proxyTable设置跨域:config->index.js
module.exports = { dev: { assetsSubDirectory: 'static', assetsPublicPath: '/', proxyTable: { '/api':{ target:'http://localhost:80', //这里配置的是 请求接口的域名 // secure: false, // 如果是https接口,需要配置这个参数 changeOrigin: true, // 如果接口跨域,需要进行这个参数配置 pathRewrite:{ '^/api':'' //路径重写,这里理解成用'/api'代替target里面的地址. } } }, }
2.设置api
2.1文件目录
2.2 api.js 编码
import axios from 'axios' axios.defaults.baseURL = '/api'; axios.defaults.headers.post['Content-Type'] = 'application/json;charset=utf-8'; axios.defaults.withCredentials = true //接口自定义 //修改用户信息接口 export const updateOneUser = params => { return axios.post('/anta/anta-back/src/php/updateUser.php', params) .then(res => res.data) };
3.组件中引用
import {updateOneUser} from "../../api/api" methods:{ //给后台发送数据 var params = new URLSearchParams(); params.append('userphone', this.watchStudentInfo.userphone); params.append('userpass', this.watchStudentInfo.userpass); console.log(params) updateOneUser(params).then(data=>{ //后台返回的数据 if(data==1){ //添加成功 this.$message.success('修改成功') }else{ //失败 this.$message.success('修改失败') } }).catch(error=>{ this.$message.success('修改失败') }) }
以上这篇Vue proxyTable配置多个接口地址,解决跨域的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
本文向大家介绍Nginx解决转发地址时跨域的问题,包括了Nginx解决转发地址时跨域的问题的使用技巧和注意事项,需要的朋友参考一下 一、什么是跨域问题 在一个服务器A里放置了json文件,另一个服务器B想向A发送ajax请求,获取此文件,会发生错误。 Chrome提示: 这就是跨域问题。解决方案有不少,比较好的是服务器端配置CORS,但要求服务器端做更改。如果在不需要更改服务器端的情况下解决呢?尤
我们在部署之后, 会发现Vuejs会遇到js 的经典问题: 远程服务器地址不对,或者跨域问题. 前提: 我们的真正后台接口是: http://siwei.me/interface/blogs/all 如下: 域名404 问题 这个问题看起来如下: 这个问题是由于源代码中,访问 /interface/blogs/all 这个接口引起的: this.$http.get('/api/interface/
如图,这是我项目在 vite.config 的 server 配置。 问题1:为什么配置这样一段代码就解决跨域问题了呢? 问题2:服务器和服务器之间的请求有没有跨域这样的存在呢?(我了解到的是跨域是浏览器的限制,是我理解错了吗) (请大家把我当成一个网络小白,但不是特别小白 >.<)
ruoyi-ui vue2.x版本 想要在前端配置多个跨域配置,后端的接口能正常请求,前端配置一直显示路径404. 1.在.env.development和.env.production 新增 VUE_APP_OTHER_API='/proxy-api' 2.vue.config.js 中的devServer配置 如果此新增跨域target配置添加/proxy-api 重启项目就马上显示系统接口异
本文向大家介绍注解@CrossOrigin解决跨域的问题,包括了注解@CrossOrigin解决跨域的问题的使用技巧和注意事项,需要的朋友参考一下 注解@CrossOrigin 出于安全原因,浏览器禁止Ajax调用驻留在当前原点之外的资源。例如,当你在一个标签中检查你的银行账户时,你可以在另一个选项卡上拥有EVILL网站。来自EVILL的脚本不能够对你的银行API做出Ajax请求(从你的帐户中取出
本文向大家介绍nginx服务器通过配置来解决API的跨域问题,包括了nginx服务器通过配置来解决API的跨域问题的使用技巧和注意事项,需要的朋友参考一下 前言 最近在采用jquery ajax调用http请求时,发现了一系列问题: 如采用firebug调试API请求(这个API是自己服务器的应用),看到服务器明明返回200状态,response返回数据也是json格式,但ajax返回的error
本文向大家介绍Node.js配合node-http-proxy解决本地开发ajax跨域问题,包括了Node.js配合node-http-proxy解决本地开发ajax跨域问题的使用技巧和注意事项,需要的朋友参考一下 情景: 前后端分离,本地前端开发调用接口会有跨域问题,一般有以下3种解决方法: 1. 后端接口打包到本地运行(缺点:每次后端更新都要去测试服下一个更新包,还要在本地搭建java运行环境
本文向大家介绍django解决跨域请求的问题,包括了django解决跨域请求的问题的使用技巧和注意事项,需要的朋友参考一下 解决方案 1.安装django-cors-headers 2.配置settings.py文件 OK!问题解决! 其他解决方案 另外还从网上看到其他两种解决方案,但都不太合适。在此列出,供大家参考 1.使用JSONP 使用Ajax获取json数据时,存在跨域的限制。不过,在We