社区
其他技术讨论专区
帖子详情
Vue使用Axios通过post方式访问后台,为什么后台获取不到传递过来的参数?(跨域)
weixin_38065414
2019-05-13 01:53:45
我用Vue+Element搭建了一个前端应用。使用Axios来进行数据的访问。配置如下
后台是一个Spring项目,也进行了跨域的配置,如下
使用如下代码请求后台时,后台确实接收到了请求,但却没有接收到请求参数
尝试了各种方法都不行唉.../(ㄒoㄒ)/~~
...全文
964
4
打赏
收藏
Vue使用Axios通过post方式访问后台,为什么后台获取不到传递过来的参数?(跨域)
我用Vue+Element搭建了一个前端应用。使用Axios来进行数据的访问。配置如下 后台是一个Spring项目,也进行了跨域的配置,如下 使用如下代码请求后台时,后台确实接收到了请求,但却没有接收到请求参数 尝试了各种方法都不行唉.../(ㄒoㄒ)/~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
weixin_38078612
2019-05-13
打赏
举报
回复
@RequestMapping(value="/uploadCarousel", method=RequestMethod.POST)
public ContentResults test(@RequestBody UserBean userbean) {
}
weixin_38070998
2019-05-13
打赏
举报
回复
1 , axios 默认采用的是applicaiton/json ,应该要@requestBody 获取请求内容。(其实就是 前台POST JSON字符串 到后台) 2 , 如果spring mvc 想使用key-value这种方式接收,可以放到URL参数中(使用 这个 config.data = qs.stringify(config.data) 也可以实现) 3 ,第三种是用 用一个url的方法转换一下(具体忘记哪个方法了), 后台也可以收到,但是有浏览器兼容性问题。不推荐。 推荐第二种。
weixin_38074583
2019-05-13
打赏
举报
回复
刚踩了这个坑,浪费了大半天时间查资料。 前台用是json,后台控制器使用基础数据类型接受时就会发现参数值为空。 但是用postman测试又没问题。 解决办法 https://stackoverflow.com/questions/12893566/passing-multiple-variables-in-requestbody-to-a-spring-mvc-controller-using-ajax
weixin_38073293
2019-05-13
打赏
举报
回复
第一步看手动json请求后台能不能请求到,确保后台是没问题的 第二步浏览器端看发送的请求是否符合格式,是否和第一步的一致 浏览器检查格式方法 右键/检查/Network
vue
通用
后台
管理 加web8931
获取
课程资料
vue
通用
后台
管理从零到一手把手带你搭建
vue
管理
后台
学完可以立马写在简历上涉及到的技术栈有:
vue
+
vue
-cli+element-ui+echarts+
vue
x+
vue
-router+mockjs+
axios
二次封装
axios
mock数据模拟 组件封装等项目涉及到的模块有:登录 首页展示 员工管理 销售统计模块 权限管理 面包屑导航 echarts图形实现 等等 项目效果如下:加V web8931
获取
课程资料
Vue
之
Axios
跨域
问题解决方案
背景:因为
axios
中只能
使用
get和
post
方法来进行请求数据,没有提供jsonp等方法进行
跨域
访问
数据
axios
中文网址:https://www.kancloud.cn/yunye/
axios
/234845 //
axios
中的GET请求
axios
.get('/user', { params: { ID: ‘001’ } }) ...
Vue
-
axios
跨域
post
请求
今天被
axios
的
跨域
请求烧脑了,爬了很多文章终于能正常ajax了,在此记录一下方法. 一:安装
axios
和qs 在项目目录中安装这两个插件 npm i
axios
npm i qs 解释一下为啥要安装qs,我用的后端是原生的php. 通过
axios
发送的请求是payload形式的,但是例如jq,是以form 表单提交的数据. 所以会造成不处理请求请求数据,原生php
后台
不能处理payload数据,的情况,导致
获取
不到
传参. 参考 Tip:
使用
cnpm安装速度很快 二:导入模块 在需要ajax的
vue
Vue
通过
axios
发送
post
请求出现
跨域
问题
在
使用
axios
发送
post
请求时会出现
跨域
问题,报错如:Failed to load http://192.168.33.10:8009/api/token: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' i
解决
Axios
跨域
问题(
Axios
跨域
问题解决方案)
Axios
是不允许
跨域
访问
的,别说
跨域
,跨端口都不行。例如某项目我本地
vue
前端frontEnd为`localhost:8888`,Java
后台
backEnd为`localhost:8889` 。 这个时候就有两个方案了: - 修改`frontEnd`前端,支持
跨域
(通过代理的形式,当然这种是`伪
跨域
`,但是挺有用,前提是后端不限制即可)。 - 修改`backEnd`
后台
,支持
跨域
(同时限制可
跨域
名,不在本文讨论范围,且看过往处理
方式
)。
其他技术讨论专区
433
社区成员
791,270
社区内容
发帖
与我相关
我的任务
其他技术讨论专区
其他技术讨论专区
复制链接
扫一扫
分享
社区描述
其他技术讨论专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章