http-proxy-middleware-跨域-axios修改URL不起作用

来源:10-1 项目上线流程

慕的地2003940

2020-04-08

export const handleShowSecurityBox = (status) =>{
	return(dispatch)=>{
		const param = Math.random()
		axios({
			method:'get',
			url:'/api/getCaptchaCode?param='+ param,
			withCredentials: true
		}).then((res) =>{
			dispatch(showSecurityCodeBox(status));
			dispatch(changeSecurityParam(param))
		})
	}
}

老师这个是我在actionCreators中发送ajax请求到后端获取验证码的内容,并且使用***http-proxy-middleware***中间件来解决跨域问题,最开始上面的url是***url:’/getCaptchaCode?param=’+ param***,在这种情况下已经实现了可以请求到后端的数据,今天想要在每个请求的url前配置***/api***,以免要在setupProxy.js中配置很多重复的跨域配置,但是现在加上了这个***/api***之后发送请求还是发送的***/getCaptchaCode?param=’+ param***,以下是截图

图片描述
上图是修改url后的请求,可以看见这个请求还是没有加入/api
下面是配置的setupProxy.js

const { createProxyMiddleware } = require('http-proxy-middleware')

module.exports = function (app) {
	//登录注册
  app.use(createProxyMiddleware('/api', {
    target: 'http://127.0.0.1:8080',
    secure: false,		//cookie跨域
    changeOrigin: true	//将请求host设为上述target
 	// pathRewrite: {
  //     "^/api": "/api"
  //   }
  }));
}

当时在配置http-proxy-middleware结束之后使用过npm run eject命令。

写回答

1回答

Dell

2020-04-09

修改之后你需要重启下服务器才生效

0
1
慕的地2003940
多次重启过,无论是前端还是后端,并且更换过浏览器运行,但是请求的还是/getCaptchaCode,神奇的是我请求主页的接口就是对的,用postman模拟请求是可以获得请求数据的,看来是前端的哪有问题,但检查这么多无非就是上面截图的地方,不知道还有没有什么其他的可能?
2020-04-12
共1条回复

React零基础入门到实战,完成企业级项目简书网站开发

主流新技术 React-redux,React-router4,贯穿基础语法

5275 学习 · 2496 问题

查看课程