使用axios.post()传递多个参数时出现中文乱码问题

2023-11-11

方式一

var vm=new Vue({
    el:"#app",
    data:{
        id:"",
        name:"",
        age:"",
    },
    methods:{ 
        getStudentInf(){
        axios.post(
            "servelt02.do",//处理路径
            {
              id:"a0022",
              name:"李思思"
            }//传递的参数,这是官方推荐的格式
        ).then(result=>{
            result = result.data;
            this.id = result.id;
            this.name = result.name;
            this.age = result.age;
        })
    },
},
})

结果:

servelt接收参数情况:

采用:req.getParameter()接收

查看请求头:

结论:

可见,发送的数据格式是Request Payload,并非我们常用的Form Data格式,所以参数必须要以键值对形式传递,不能以json形式传参。

方式二:

var vm=new Vue({
    el:"#app",
    data:{
        id:"",
        name:"",
        age:"",
    },
    methods:{ 
        getStudentInf(){
        axios.post(
            "servelt02.do",//处理路径
           "id=a0022&name=李思思"//传递的参数,直接用字符串格式
        ).then(result=>{
            result = result.data;
            this.id = result.id;
            this.name = result.name;
            this.age = result.age;
        })
    },
},
})

结果:servelt接收参数情况:

采用:req.getParameter()接收

查看请求头:

 

结论:

此时传递参数的格式是FormData,但对应servelt接收到的汉字数据却乱码,可能是由于Content-Type中不是charset=utf-8

方式三:

var vm=new Vue({
    el:"#app",
    data:{
        id:"",
        name:"",
        age:"",
    },
    methods:{ 
        getStudentInf(){
            let params = new URLSearchParams();
            params.append('id', "a0022");
            params.append('name', "李思思"); 
       axios.post(
            "servelt02.do",//处理路径
             params//传递的参数,使用URLSearchParams预先对请求参数进行格式处理
        ).then(result=>{
            result = result.data;
            this.id = result.id;
            this.name = result.name;
            this.age = result.age;
        })
    },
},
})

结果:成功

采用:req.getParameter()接收

查看请求头:

方式四:

经过查阅资料,我发现浏览器在以get和post两种请求方式发送请求的时候,分别在http请求协议包中请求头和请求体中携带的参数在以二进制的形式到达HTTP服务器的时候,在Servelt接口实现类中解释的时候会有所不同。

get方式:由http服务器(eg:Tomcat)来解析,在tomcat9.0版本默认以utf-8的字符集来解释。

post方式:由请求对象request 来解析,默认以【ISO-8859-1】来解释,一个东欧系字符集,如果此时传递的有中文,就会出现乱码。

解决方式:

在对应servelt的dopost()方法里面添加

req.setCharacterEncoding("utf-8");

注意:是在请求获得参数的前面。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用axios.post()传递多个参数时出现中文乱码问题 的相关文章

  • AES 加密 Java/plsql

    我需要在Java和plsql DBMS CRYPTO for Oracle 10g 上实现相同的加密 解密应用程序 两种实现都工作正常 但这里的问题是我对相同纯文本的加密得到了不同的输出 下面是用于加密 解密过程的代码 Java 和 PLS
  • 将 JSON 发布到 Python CGI

    我已经安装了 Apache2 并且 Python 可以工作 但我有一个问题 我有两页 一个是 Python 页面 另一个是带有 JQuery 的 Html 页面 有人可以告诉我如何让我的 ajax 帖子正常工作吗
  • 在浏览器中点击应用程序时播放框架挂起

    我正在 Play 中运行一个应用程序activator run 也许 5 次中有 3 次 它会挂起 当我去http localhost 9000 它就永远坐在那里旋转 我看到很多promise timed out错误也 我应该去哪里寻找这个
  • 使用 ANTLR 为 java 源代码生成抽象语法树

    如何使用 ANTLR 从 java src 代码生成 AST 有什么帮助吗 好的 步骤如下 前往ANTLR站点 http www antlr org 并下载最新版本 下载Java g和JavaTreeParser g文件来自here htt
  • 如何在 Java 中禁用 System.out 以提高速度

    我正在用 Java 编写一个模拟重力的程序 其中有一堆日志语句 到 System out 我的程序运行速度非常慢 我认为日志记录可能是部分原因 有什么方法可以禁用 System out 以便我的程序在打印时不会变慢 或者我是否必须手动检查并
  • HDFS:使用 Java / Scala API 移动多个文件

    我需要使用 Java Scala 程序移动 HDFS 中对应于给定正则表达式的多个文件 例如 我必须移动所有名称为 xml从文件夹a到文件夹b 使用 shell 命令我可以使用以下命令 bin hdfs dfs mv a xml b 我可以
  • 如何为 Gson 编写自定义 JSON 反序列化器?

    我有一个 Java 类 用户 public class User int id String name Timestamp updateDate 我收到一个包含来自 Web 服务的用户对象的 JSON 列表 id 1 name Jonas
  • 当分配给变量时,我可以以某种方式重用 Gremlin GraphTraversals 代码吗?

    我有看起来像这样的 GraphTraversals attrGroup GraphTraversal
  • jdbc4.MySQLSyntaxErrorException:数据库中不存在表

    我正在使用 SpringBoot 开发一个网络应用程序 这是我的application properties文件来指定访问数据库的凭据 spring datasource driverClassName com mysql jdbc Dri
  • 如何在jsp代码中导入java库?

    我有以下jsp代码 我想添加 java io 等库 我怎样才能做到这一点
  • 构建 Vue 微前端应用程序(带有路由和 vuex 存储)

    我需要帮助配置使用 Vuex Vue Router 和 Vue i18n 的微前端应用程序的构建 分发 TL DR 我在构建将导入到现有系统中的微前端应用程序时遇到问题 我们的团队尝试通过 vue cli service 和 vue web
  • Clip 在 Java 中播放 WAV 文件时出现严重延迟

    我编写了一段代码来读取 WAV 文件 大小约为 80 mb 并播放该文件 问题是声音播放效果很差 极度滞后 你能告诉我有什么问题吗 这是我的代码 我称之为doPlayJframe 构造函数内的函数 private void doPlay f
  • Spring Data 与 Spring Data JPA 与 JdbcTemplate

    我有信心Spring Data and Spring Data JPA指的是相同的 但后来我在 youtube 上观看了一个关于他正在使用JdbcTemplate在那篇教程中 所以我在那里感到困惑 我想澄清一下两者之间有什么区别Spring
  • 如何取消 AjaxForm 上的提交

    我正在使用 jQuery 插件 ajax 形式 我尝试实现这样的东西 MyFormID ajaxForm dataType json resetForm true beforeSubmit function validateData ret
  • org.jdesktop.application 包不存在

    几天以来我一直在构建一个 Java 桌面应用程序 一切都很顺利 但是今天 当我打开Netbeans并编译文件时 出现以下编译错误 Compiling 9 source files to C Documents and Settings Ad
  • Android JNI C 简单追加函数

    我想制作一个简单的函数 返回两个字符串的值 基本上 java public native String getAppendedString String name c jstring Java com example hellojni He
  • 查看Jasper报告执行的SQL

    运行 Jasper 报表 其中 SQL 嵌入到报表文件 jrxml 中 时 是否可以看到执行的 SQL 理想情况下 我还想查看替换每个 P 占位符的值 Cheers Don JasperReports 使用 Jakarta Commons
  • 将 JTextArea 内容写入文件

    我在 Java Swing 中有一个 JTextArea 和一个 提交 按钮 需要将textarea的内容写入一个带有换行符的文件中 我得到的输出是这样的 它被写为文件中的一个字符串 try BufferedWriter fileOut n
  • KeyPressed 和 KeyTyped 混淆[重复]

    这个问题在这里已经有答案了 我搜索过之间的区别KeyPressedand KeyTyped事件 但我仍然不清楚 我发现的一件事是 Keypressed 比 KeyTyped 首先被触发 请澄清一下这些事件何时被准确触发 哪个适合用于哪个目的
  • javax.persistence.Table.indexes()[Ljavax/persistence/Index 中的 NoSuchMethodError

    我有一个 Play Framework 应用程序 并且我was使用 Hibernate 4 2 5 Final 通过 Maven 依赖项管理器检索 我决定升级到 Hibernate 4 3 0 Final 成功重新编译我的应用程序并运行它

随机推荐

  • 抓取chrome所有版本密码

    文章首发先知社区 https xz aliyun com t 9752 工具已上传到github https github com SD XD Catch Browser 谷歌浏览器存储密码的方式 在使用谷歌浏览器时 如果我们输入某个网站的
  • python 无头模式 绕过检测_python爬虫反反爬虫有绝技,轻松绕开百度人机验证!...

    你可能已经了解到了无头浏览器的作用以及使用的方法 那么本篇文章就让我们一起用无头浏览器做点事情 是的你没有看错 我们要 搞 的对象就是百度指数这个网站 不知道你平时是否会应用到这里面的数据呢 今天的主要目标就是使用无头浏览器登录百度指数网站
  • 离散傅里叶变换MATLAB实现

    文章目录 要求 一 连续函数抽样 二 抽样长度确定 三 DFT 1 使用一次循环实现DFT 2 使用矩阵实现DFT 总结 要求 有一单频信号y t sin 2 ft 其中f 100Hz 和f 500Hz 分别用DFT求y t 的谱 抽样频率
  • 某中学校校园网络方案设计(课程设计)

    目录 一 绪论 1 1 中小学校园信息化应用的现状 1 2 中小学校园网络系统现状 二 需求分析 2 1 获取需求的途径 方法 过程等 2 2基本情况 2 3 建筑分布 2 4 信息点 需联网的设备 分布及数量 表格 三 设计 3 1 设计
  • cesium for ue5中actor的cesium georeference组件的改变(英文教程文档是更新了的)

    今天 重新回顾下cesium for ue的教程 actor添加cesium georeference组件 发现在ue5中 没有这个组件了 忍住卸载ue5 重新安装ue4 27的冲动 cesium的组件数量增多了 反而功能减少了 不可能 绝
  • Unity之UI

    Unity之UGUI 一 Canvas 1 创建Canvas 2 Render Mode 1 Screen Space Overlay 2 Screen Space Camera 3 World Space 3 Pixel Perfect
  • 【计算机毕设项目】基于大数据的社交平台数据爬虫舆情分析可视化系统

    文章目录 0 前言 1 课题背景 2 实现效果 实现功能 可视化统计 web模块界面展示 3 LDA模型 4 情感分析方法 预处理 特征提取 特征选择 分类器选择 实验 5 部分核心代码 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不
  • python智能合约编程_如何用Python Flask开发以太坊智能合约

    将数据存储在数据库中是任何软件应用程序不可或缺的一部分 无论如何控制该数据库都有一个该数据的主控 区块链技术将数据存储到区块链网络内的区块中 因此 只要某个节点与网络同步 它们就会获得区块中数据的副本 因此 该技术中没有特定的数据主控 在本
  • C#学习教程八

    枚举 枚举是C 编程语言的一种类型 跟类 结构 密封类 分布类 委托 事件 抽象都是同一级别的类型 枚举用enum关健字来定义 枚举可以一次性定义一组常量和常量的使用方式一样 枚举通常用在分支语句中 这种做法可以增加程序的可读性 枚举中的每
  • 如何查看和修改linux系统的字符集

    查看系统的字符集 通过locale命令查看系统支持的字符集 这个是很干净的一个系统 root master locale a C en US utf8 POSIX 还有这种对字符集支持比较好的 root master yt locale a
  • lock锁

    目录 1 lock 基本用法 2 lock公平锁与非公平锁 3 lock注意事项 4 synchronized 与 lock区别 1 lock 基本用法 lock lock try finally lock unlock 或者 try lo
  • Vue中element组件Pagination跳转到第二页后搜索功能失效

    在写组件分页功能遇到一个bug 当点击到除第一页以外 搜索功能失效 解决方法是在搜索函数中加上this page 1 如果搜索是空值显示数据 searchKeyFun2 value this page 1 设置搜索页面到第一页 this s
  • 18.1. Fabric2.2 区块链农产品溯源系统 - 多Peer部署(扩展)

    这是一篇后补文章 看时间大家能够看出来 通过前面的学习 大家知道如何增加组织 如何部署多Orderer 本节介绍如何在一个组织内部署多个Peer节点 本节是基于上一节操作的继续 脚本也是基于上节进行修改的 1 目标 为组织1新增一个节点 p
  • 微信支付开发——多种支付

    微信提供了好多种的支付产品 本文要讲解的是我在实际开发中用的几种 JSAPI支付 NATIVE支付 扫码支付 H5支付 小程序支付 微信提供的各种支付方式 只要了解一种 其他几种支付差别不大 其中不管是哪种支付 都需要调用统一的一个接口 微
  • STM32的USART发送中断标志位USART_IT_TXE和USART_IT_TC

    与STM32的发送中断相关的标志位有USART IT TXE和USART IT TC 根据ST芯片手册的信息可知 USART在发送移位寄存器 Transmit Shift Register 前面 还有一个TDR Transmit data
  • C#多线程开发总结

    1 关闭Form窗体进程还在的问题方法一 Thread IsBackground true 方法二 System Environment Exit 0 方法三 FormClosing方法内手动释放所有托管资源 注意 强行关闭时都要做好全局未
  • IDEA 如何设置和修改项目属性?

    找到project structure按钮 1 点击界面上的project structure按钮或者使用快捷键ctrl alt shift s打开工程设置页 END 设置project默认的jdk和java语言级别
  • PHP 合成图片并在图片上加文字

    Info PHP把一张图片作为背景和另一张图片合成新图片 public function createImage path 1 XXXXX attachment images 20200801 4d8e641215b9ed593298ff6
  • 域名系统几类服务器,域名服务器可分为什么类型

    域名服务器是进行域名 domain name 和与之相对应的IP地址 IP address 转换的服务器 DNS中保存了一张域名 domain name 和与之相对应的IP地址 IP address 的表 以解析消息的域名 把域名翻译成IP
  • 使用axios.post()传递多个参数时出现中文乱码问题

    方式一 var vm new Vue el app data id name age methods getStudentInf axios post servelt02 do 处理路径 id a0022 name 李思思 传递的参数 这是