详解vue使用$http服务端收不到参数


Posted in Javascript onApril 19, 2019

老夫子我正在憋方案书,听到身后传来细软的声音:“李哥,我这有个Bug调了很长时间了,您能帮我看一下吗?”。说这话的是我的好朋友,公司新来的前端小妹伊万卡。我起身向她走去,看到因长时间调试Bug漂亮的脸蛋上泛起的红晕,原来人会变的温柔,一点都不像我。

我使用vue中的http方法异步删除一个图片,后端怎么也接收不到我发的参数,同时还报个500。

听完伊万卡小妹描述的这个Bug临床表现,根据我多年的行医经验,已大体猜出病灶所在。但我并不想这么快结束这次义诊,你们是了解我的,让她透彻的懂了,才是我的选择。
老夫整理下外套,端庄的坐在了小妹的工位上,开始我的治病救人过程:望、闻、问、切。

一:望

在浏览器中把这个功能跑一下,打开调试窗口,找到这个XHR(XMLHttpRequest)请求连接,看Headers选项卡最下面,如下图所示

详解vue使用$http服务端收不到参数

Request Payload,请注意这个数据格式。

二:闻

打开伊万卡小妹写的代码,我终于看出了传说中诗的感觉,同样26个字母,小妹敲出来的就是好看。

this.$vux.confirm.show({
title: "提示",
content: "确定要删除此图片吗?",
onConfirm() {
that.$http({
method: "post",
url: `${that.$$baseURL}/upload/delBelowImg`,
headers: {
token: token,
'Content-Type':'application/json'
},
data:{
file:item.filePath,
id:id,
name:item.name
}
}).then(res => {});
}
});

 我发誓,以上代码绝对出自伊万卡之手,分毫未改。但当这个片段出现在我博文里时屁感觉没有,你说奇怪不奇怪。

三:问

我转头看向写java的川普,说:“小川,把你和伊万卡小妹对接的这个接口,代码发我一下”。5秒中之后,我收到了如下毫无美感的代码。

@RequestMapping(value = "/delBelowImg")
@Transactional
public void delBelowFile(@RequestParam Map<String, Object> params,HttpServletRequest request){
try {
……
} catch (Exception e) {
……
} 
}

@RequestParam 注意这个注解。

四:切

到这里我已经确切的知道了病因,我略作分析,在望环节,我们看到伊万卡小妹诗一样的代码发出请求,在浏览器发送请求参数格式是:
Request Payload,在问环节,看到小川写的代码,注解是@RequestParam,所以结果是,小妹发送的请求数据格式与小川的不统一,怪不得接受不到参数。
我在小妹的代码基础上略作改动如下(标红是改动部分):

const data = {
file:item.filePath,
id:id,
name:item.name
}
this.$vux.confirm.show({
title: "提示",
content: "确定要删除此图片吗?",
onConfirm() {
that.$http({
method: "post",
url: `${that.$$baseURL}/upload/delBelowImg`,
headers: {
token: token,
'Content-Type':'application/json'
},
params:data
}).then(res => {});
}
});

我再次打开浏览器,这次发送参数的格式成了 Query String Parameters,如下图所示

详解vue使用$http服务端收不到参数

服务端成功接受到了参数,图片正常删除,伊万卡小妹脸上又有了笑容,连看我的眼神也更坚定了,好像再说这个男人没错。我知道我们的革命友谊又升华了。我对尹万卡小妹露出了无产阶级标志性笑容?

在伊万卡小妹问出“为什么”三个字时,我赶紧跑回了工位。

Bug是流动的
不由人的
何必激动着要理由

扩展:
有兴趣的同学请自行了解以下异步请求格式区别,要知道前方有个伊万卡小妹妹在等你解答呢,还不滚去学习。
前端:
Request Payload
Form Data
Query String Parameters
后端:
@RequestParam
@RequestBody

以上所述是小编给大家介绍的vue使用$http服务端收不到参数详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
解决表单中第一个非隐藏的元素获得焦点的一个方案
Oct 26 Javascript
js图片闪动特效可以控制间隔时间如几分钟闪动一下
Aug 12 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
Oct 01 Javascript
基于jQuery的Web上传插件Uploadify使用示例
May 19 Javascript
JavaScript生成带有缩进的表格代码
Jun 15 Javascript
使用JS中的exec()方法构造正则表达式验证
Aug 01 Javascript
jQuery图片拖动组件Dropzone用法示例
Jan 17 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
Jun 20 Javascript
微信小程序实现的一键复制功能示例
Apr 24 Javascript
layui实现下拉框三级联动
Jul 26 Javascript
vue-router重写push方法,解决相同路径跳转报错问题
Aug 07 Javascript
react ant Design手动设置表单的值操作
Oct 31 Javascript
ajaxfileupload.js实现上传文件功能
Apr 19 #Javascript
AjaxFileUpload.js实现异步上传文件功能
Apr 19 #Javascript
读懂CommonJS的模块加载
Apr 19 #Javascript
js module大战
Apr 19 #Javascript
如何根据业务封装自己的功能组件
Apr 19 #Javascript
vue项目打包上传github并制作预览链接(pages)
Apr 19 #Javascript
vue组件之间的数据传递方法详解
Apr 19 #Javascript
You might like
PHP生成静态页面详解
2006/12/05 PHP
php发送短信验证码完成注册功能
2015/11/24 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
2016/01/04 PHP
php自动加载代码实例详解
2021/02/26 PHP
JS Array对象入门分析
2008/10/30 Javascript
开发跨浏览器javascript常见注意事项
2009/01/01 Javascript
jQuery中filter(),not(),split()使用方法
2010/07/06 Javascript
JS代码放在head和body中的区别分析
2011/12/01 Javascript
js汉字转拼音实现代码
2013/02/06 Javascript
jQuery对象和Javascript对象之间转换的实例代码
2013/03/20 Javascript
做web开发 先学JavaScript
2014/12/12 Javascript
JavaScript修改作用域外变量的方法
2016/03/25 Javascript
分享十三个最佳JavaScript数据网格库
2017/04/07 Javascript
浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
2018/03/13 Javascript
layer弹出层 iframe层去掉滚动条的实例代码
2018/08/17 Javascript
基于VUE实现的九宫格抽奖功能
2018/09/30 Javascript
一些你可能不熟悉的JS知识点总结
2019/03/15 Javascript
在mpvue框架中使用Vant WeappUI组件库的注意事项【推进】
2019/06/09 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
2020/07/19 Javascript
Python守护进程(daemon)代码实例
2015/03/06 Python
Python os模块学习笔记
2015/06/21 Python
Django migrations 默认目录修改的方法教程
2018/09/28 Python
python使用插值法画出平滑曲线
2018/12/15 Python
使用Django搭建web服务器的例子(最最正确的方式)
2019/08/29 Python
numpy.linalg.eig() 计算矩阵特征向量方式
2019/11/29 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
python对 MySQL 数据库进行增删改查的脚本
2020/10/22 Python
python实现控制台输出颜色
2021/03/02 Python
详解如何通过H5(浏览器/WebView/其他)唤起本地app
2017/12/11 HTML / CSS
Footshop乌克兰:运动鞋的最大选择
2019/12/01 全球购物
Yahoo-PHP面试题4
2012/05/05 面试题
多媒体编辑专业毕业生推荐信
2013/11/05 职场文书
函授自我鉴定范文
2014/02/06 职场文书
2014年实习班主任工作总结
2014/11/08 职场文书
小学语文继续教育研修日志
2015/11/13 职场文书
2016年暑假学生家长评语
2015/12/01 职场文书