详解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 相关文章推荐
精解window.setTimeout()&amp;window.setInterval()使用方式与参数传递问题!
Nov 23 Javascript
javascript mouseover、mouseout停止事件冒泡的解决方案
Apr 07 Javascript
jquery keypress,keyup,onpropertychange键盘事件
Jun 25 Javascript
JS父页面与子页面相互传值方法
Mar 05 Javascript
ajax+jQuery实现级联显示地址的方法
May 06 Javascript
简介JavaScript中toUpperCase()方法的使用
Jun 06 Javascript
JavaScript正则表达式匹配 div  style标签
Mar 15 Javascript
js判断某个字符出现的次数的简单实例
Jun 03 Javascript
JavaScript事件方法(实例讲解)
Jun 27 Javascript
JS实现按钮添加背景音乐示例代码
Oct 17 Javascript
javascript原生封装一个淡入淡出效果的函数测试实例代码
Mar 19 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
Mar 02 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调试及性能分析工具Xdebug详解
2017/02/09 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
2017/04/15 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
检测jQuery.js是否已加载的判断代码
2011/05/20 Javascript
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
2011/10/10 Javascript
Js Jquery创建一个弹出层可加载一个页面
2014/05/08 Javascript
JavaScript中的数学运算介绍
2014/12/29 Javascript
JavaScript 事件对象介绍
2015/04/13 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
jQuery实现的淡入淡出二级菜单效果代码
2015/09/15 Javascript
Vue.js快速入门实例教程
2016/10/15 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
javascript验证香港身份证的格式或真实性
2017/02/07 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
2018/06/19 Javascript
微信小程序实现省市区三级地址选择
2020/06/21 Javascript
Node.js 如何利用异步提升任务处理速度
2019/01/07 Javascript
javascript实现计算器功能
2020/03/30 Javascript
详解element-ui动态限定的日期范围选择器代码片段
2020/07/03 Javascript
原生js实现自定义滚动条
2021/01/20 Javascript
[05:23]DOTA2-DPC中国联赛2月1日Recap集锦
2021/03/11 DOTA
web.py获取上传文件名的正确方法
2014/08/26 Python
python 全文检索引擎详解
2017/04/25 Python
Python程序员面试题 你必须提前准备!
2018/01/16 Python
Python实现将doc转化pdf格式文档的方法
2018/01/19 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
2019/05/13 Python
Python Django框架单元测试之文件上传测试示例
2019/05/17 Python
python3定位并识别图片验证码实现自动登录功能
2021/01/29 Python
如何安装ruby on rails
2014/02/09 面试题
生物技术毕业生自荐信
2013/10/23 职场文书
工程师岗位职责
2013/11/08 职场文书
护士毕业生自我鉴定
2014/02/08 职场文书
新学期感想
2015/08/10 职场文书
教你用python实现12306余票查询
2021/06/30 Python
Python可变与不可变数据和深拷贝与浅拷贝
2022/04/06 Python
Oracle使用别名的好处
2022/04/19 Oracle