首页 > 其他分享 >前后端分离项目中传值问题

前后端分离项目中传值问题

时间:2023-11-20 15:55:31浏览次数:96  
标签:前后 feedback form 对象 中传值 分离 表单 参数 属性

在上个月写项目的时候遇到了一个极其离谱的问题就是在前端在向后端提交表单后,后端可以接收到表单,但是表单内容是空的,当时我有限的经验告诉我这是实体对象属性名没有对应导致的,因为我其中一个参数是可以 " 正常接收 " 到数据的,然后我开始修改前后端的实体对象的参数信息,无论我如何修改都没有作用,依然是空数据,于是我开始网络上查询,收到的结果确只有一个 "  驼峰命名  " ,但我也尝试进行了修改,无果后开始静下心来思考问题,于是我开始从PostMan开始测试后端接口,在PostMan测试后发现,测试没有任何问题,可以正常完成功能,于是我开始排查前端代码,由于之前我已经排查过了前后端表单内对象的参数,所以排除参数名的问题,那么问题只有数据传输过程的问题,提交表单的函数使用的是外部函数导入,先贴一下一开始的代码:

export function feedback(form) {
  return axios.post("/t-feedback/setUp", {
    form}
    )
}

  由于我之前一直使用的是@RequestParam来传参,所以写习惯了后面的参数加括号,而且再加上我一直学习的是后端,刚开始学习Vue3框架,对于Vue.js不熟悉,导致了这次的眼瞎事件,先贴一下修改后的,再进行解释,

export function feedback(form) {
  return axios.post("/t-feedback/setUp", 
    form
    )
}

由于我们传的是一个对象,不是多个参数属性,不需要使用{}来包裹,包裹之后后端无法识别包裹的数据,它会将这个按属性来与后端第一个参数进行匹配,后端对象根本没有这个属性,所以导致了接受值为空,之前提到过的有一个是属性可以 " 正常接收 ",其实是因为那个属性是整形,当整形接收为空时会默认为0.

总结:

  当我们进行开发时若要传输一整个对象,则不需要在函数中使用括号将对象包裹,在传输一个或多个属性参数时,则需要使用{}进行包裹.

标签:前后,feedback,form,对象,中传值,分离,表单,参数,属性
From: https://www.cnblogs.com/zjDm/p/17844172.html

相关文章

  • 实现数据库的读写分离
    简介轻量级Java框架,在Java的JDBC层提供额外服务,以jar包的形式提供服务(增强版数据库连接驱动)。适用于基于JDBC的ORM框架、支持第三方数据库连接池、支持实现了JDBC规范的数据库。 读写分离:基于已配置好主从复制的多个数据库。 使用步骤在springboot项目中使用。一、......
  • vue2 前后端分离的项目,用宝塔部署,出现域名访问根目录能访问,加任何网址就404
    https://admin.xxx.com/ 访问正常https://admin.xxx.com/index  访问404location/{root/home/ruoyi/projects/ruoyi-ui;try_files$uri$uri//index.html;indexindex.htmlindex.htm;} nginx加上上面这段......
  • 结构体的声明与定义分离
       最近看到一种比较新颖的写法——结构体在头文件中声明,源文件中定义   A.htypedefstructContextContext;   A.cpp#include"stdafx.h"#include"A.h"structContext{intparam;char*str;};   原以为这样应该会报错,因为头文......
  • 分离式光电液位传感器与电容式液位传感器对比
    分离式光电液位传感器和电容式传感器都是非接触式的,不用接触液体就能检测液位变化,那马它们两者之间有哪些区别呢,今天小编就带大家了解一下相关内容。首先分离式光电液位传感器是在光电一体液位传感器的基础上,将电子元件部分与检测部位棱镜分离,棱镜设计到用户水箱上,传感器置于水箱外......
  • 047_第三代软件开发-日志分离
    第三代软件开发-日志分离文章目录第三代软件开发-日志分离项目介绍日志分离用法关键字:Qt、Qml、log、日志、分离项目介绍欢迎来到我们的QML&C++项目!这个项目结合了QML(QtMeta-ObjectLanguage)和C++的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。在项目中,我......
  • springboot前后台博客系统
    源码私信或者公众号java大师获取博客简介:本博客采用SpringBoot+LayUI做为基础,进行的博客系统开发,与boot+vue相比,更为适合开发简单的系统,并且更容易上手,简单!高效!更易上手!SpringBoot+LayUI:快速开发:LayUI是一个简单的UI框架,它提供了易于使用的组件,可以快速构建界面。搭配Spring......
  • SpringBoot 项目优雅实现读写分离 | 京东云技术团队
    一、读写分离介绍当使用SpringBoot开发数据库应用时,读写分离是一种常见的优化策略。读写分离将读操作和写操作分别分配给不同的数据库实例,以提高系统的吞吐量和性能。读写分离实现主要是通过动态数据源功能实现的,动态数据源是一种通过在运行时动态切换数据库连接的机制。它允许应......
  • SpringBoot 项目优雅实现读写分离
    一、读写分离介绍当使用SpringBoot开发数据库应用时,读写分离是一种常见的优化策略。读写分离将读操作和写操作分别分配给不同的数据库实例,以提高系统的吞吐量和性能。读写分离实现主要是通过动态数据源功能实现的,动态数据源是一种通过在运行时动态切换数据库连接的机制。它允许......
  • dsBlog前后台博客系统
    博客简介:本博客采用SpringBoot+LayUI做为基础,进行的博客系统开发,与boot+vue相比,更为适合开发简单的系统,并且更容易上手,简单!高效!更易上手!SpringBoot+LayUI:快速开发:LayUI是一个简单的UI框架,它提供了易于使用的组件,可以快速构建界面。搭配SpringBoot,你可以迅速开发出后台......
  • 若依分离版打包部署后找不到模块(Error: Cannot find module ‘@/views/index‘)
    将store/moudules/permission.js这一块改成下面这样,注释的可以删exportconstloadView=(view)=>{return(resolve)=>require([`@/views/${view}`],resolve)//if(process.env.NODE_ENV==='development'){////}else{////使用import实现生产环境的......