使用get可以取到参数使用post或取不到参数

一、问题:前端通过post方式向后台传参,但是通过在后台Java代码打断点调试,发现并没有接受到数据。

二、解决方法:在前端的ajax设置contentType:'application/x-www-form-urlencoded'

三、问题原因:原因在于,未设置时的请求的contentType的格式是application/json,但是这种格式支持的是通过注解@RequestParam映射到字段里,我并没有加注解,所以没有获取到参数值

几种常见的格式

application/x-www-form-urlencoded 主要用于如下:
1.1: 最常见的POST提交数据方式。
1.2:原生form默认的提交方式(可以使用enctype指定提交数据类型)。
1.3:jquery,zepto等默认post请求提交的方式。

application/x-www-form-urlencoded 是最常用的一种请求编码方式,支持GET/POST等方法,所有数据变成键值对的形式 key1=value1&key2=value2
的形式,并且特殊字符需要转义成utf-8编号,如空格会变成 %20;

默认的提交方式是 application/x-www-form-urlencoded 编码提交数据的,在chrome的network面板下,默认的请求体是被解析的。展示成formData的形式;

如果请求类型type是GET的话,那么格式化的字符串将直接拼接在url后发送到服务端; 如果请求类型是POST, 那么格式化的字符串将放在http body的Form Data中发送。

multipart/form-data

使用表单上传文件时,必须指定表单的 enctype属性值为 multipart/form-data. 请求体被分割成多部分,每部分使用 --boundary分割;

application/json

在http请求中,ContentType都是默认的值 application/x-www-form-urlencoded, 这种编码格式的特点是:name/value值对,
每组之间使用&连接,而name与value之间是使用 = 连接,比如 key=xxx&name=111&password=123456; 键值对一般的情况下是没有什么问题的,对于一些复制的数据对象,对象里面再嵌套数组的话,建议使用application/json传递比较好,通过json的形式将数据发送给服务器。json的形式的优点是它可以传递结构复杂的数据形式

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
公众号服务器配置无法获参数的原因可能有以下几点: 1. 请求方式不正确:公众号服务器配置中,接收消息和事件的URL一般是通过POST请求方式来接收的,而不是GET请求方式。如果使用GET请求方式,就无法通过参数来获消息和事件。 2. 参数传递方式不正确:公众号服务器配置中,参数的传递方式一般是以JSON或XML的形式进行传递。如果在公众号服务器配置中使用错了参数传递方式,就无法正确获参数。 3. 配置错误:公众号服务器配置中可能存在配置错误,比如URL地址填写错误、参数名称填写错误等。这些错误都会导致无法正确获参数。 解决这个问题,可以按照以下步骤进行操作: 1. 检查请求方式是否正确:确认公众号服务器配置中的URL地址使用的是POST请求方式。 2. 检查参数传递方式:确认公众号服务器配置中的参数传递方式是否为JSON或XML。 3. 检查配置是否正确:仔细检查公众号服务器配置中的URL地址和参数名称是否填写正确,确保没有拼写错误或者其他配置错误。 4. 测试接口:使用其他工具,比如Postman来测试接口,看是否能够正确获参数。如果能够成功获参数,那么可能是公众号服务器配置的问题,可以尝试重新配置。 如果经过以上步骤还无法解决问题,建议查阅相关的文档或向开发者社区寻求帮助,获更专业的指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值