南通外贸网站推广,网站seo外包服务,个人导航网站如何赚钱,稳定的网站服务器租用✅作者简介#xff1a;大家好#xff0c;我是Leo#xff0c;热爱Java后端开发者#xff0c;一个想要与大家共同进步的男人#x1f609;#x1f609; #x1f34e;个人主页#xff1a;Leo的博客 #x1f49e;当前专栏#xff1a; 报错以及Bug ✨特色专栏#xff1a; …
✅作者简介大家好我是Leo热爱Java后端开发者一个想要与大家共同进步的男人 个人主页Leo的博客 当前专栏 报错以及Bug ✨特色专栏 MySQL学习 本文内容记录一次前后端传参方式不一致异常 ️个人小站 个人博客欢迎大家访问 个人知识库 知识库欢迎大家访问
1.前言
大家好我是Leo哥最近在写一个前后端分离案例的demo的时候一个接口中前端向后端传递的参数方式和后端接收的方式不太一致出现了问题。具体是啥呢咱们接着往下聊。好了话不多说让我们开始吧。
2.问题引出
具体是这样的听我慢慢道来。
首先我是先开发完了后端接口通过Apifox测试之后再去进行前台Vue脚手架的开发。因为Apifox是接口测试当时并没有发现什么问题。
首先看一下我的后台注册接口这里因为前台注册只需要传入用户名和密码所以是通过param这种方式进行接收而不是通过RequestBody User对象把其JSON对象转换为Java对象的方式。 反观前端下面给出我前台user.js中的注册接口可能我们正常像后端数据都是按照我这种方式进行传递JSON数据的。
export const registerService (registerData) {return request.post(/user/register, registerData)
}可以看出来下图这里其实这个请求并不会发出而是在前端直接拦截住了 就是后台是用param来接参数而你前台则传递的是JSON数据所以这里是不给通过的。
但是有的朋友的就问Leo哥我记得前台可以通过param传递参数啊。
没错是可以的但那个是get请求我这里后台注册接口是post请求所以不太行哈。
3.解决方案
没错其实就是我们今天要介绍的主角-----URLSearchParams 。
在Vue的渲染函数中给固定的URL添加参数你可以使用JavaScript中的URLSearchParams对象来构建查询参数并将其附加到URL上。
话不多说直接开干。 只需要new一个URLSearchParams对象然后把registerData的数据循环添加到参数上最后传给后台即可。
现在我们再次验证一下我们的接口进行注册。 可以看出我们成功进行了注册。
4.总结
以上便是本文的全部内容本人才疏学浅文章有什么错误的地方欢迎大佬们批评指正我是Leo一个在互联网行业的小白立志成为更好的自己。
如果你想了解更多关于Leo可以关注公众号-程序员Leo后面文章会首先同步至公众号。 本文由博客一文多发平台 OpenWrite 发布