Javascript传递中文参数到Java后端

简介: 本文目录1. 背景2. 前端编码3. 参数传递4. 后端解码

1. 背景

一般不建议从前台往后端传递中文参数,但是有些时候这件事是难免的,比如网页中按关键字搜索时。


传递中文参数往往会遇到乱码问题,此处给出后端为Java时的示例代码。


2. 前端编码

为防止中文参数乱码,可以在传递前对参数进行编码,如下:


var keyword=$("#input-keyword").val();//获取输入框的值

var encodedKeyword=encodeURIComponent(keyword);//实现编码



3. 参数传递

通过ajax将参数传递到后端,示例如下:


$.ajax({

  timeout:20000,

  type:"POST",

  dataType:"JSON",

  url:"/search.do",

  data:encodedKeyword,

  success:function(msg){

   console.log(msg);

  }

});


4. 后端解码

String encodedKeyword=req.getParameter("encodedKeyword");//此处Servlet会自动解码一次,默认是以ISO-8859-1进行解码

try {

 String keyword= URLDecoder.decode(encodedKeyword , "UTF-8");//此处按UTF-8进行解码

} catch (UnsupportedEncodingException e) {

 e.printStackTrace();

相关文章
|
20天前
|
小程序 数据可视化 Java
Java+后端Spring boot 开发的全套UWB定位方案,0.1米高精度定位系统源码
UWB定位系统由硬件定位设备、定位引擎和应用软件组成。该定位系统应用软件支持PC端和移动端访问,并提供位置实时显示、历史轨迹回放、人员考勤、电子围栏、行为分析、智能巡检等功能。定位精度高达10cm,同时具备高动态、高容量、低功耗的优点。应用场景包括:隧道、化工、工厂、煤矿、工地、电厂、养老、展馆、整车、机房、机场等。
44 8
|
16天前
|
JavaScript 前端开发 Java
【vue快速入门】很适合JAVA后端看
【vue快速入门】很适合JAVA后端看
18 0
|
4天前
|
JavaScript 前端开发 Java
java 执行 javascript 代码
java 执行 javascript 代码
15 6
|
5天前
|
Java 编译器
Java中可变长参数的使用代码和方法
Java中可变长参数的使用代码和方法
22 7
|
1天前
|
IDE Java 开发工具
Spring Boot:加速Java后端开发的现代化利器
在当今快速迭代的软件开发环境中,Spring Boot 已成为Java后端开发领域的首选框架。作为Spring家族的一员,它以“约定优于配置”的设计理念,极大地简化了传统Spring应用的配置和部署过程,让开发者能够更加专注于业务逻辑的实现。本文将探讨Spring Boot的核心优势,并通过一个简单的示例展示如何快速启动一个基于Spring Boot的Java Web应用。
13 1
|
5天前
|
JavaScript
JS获取浏览器地址栏的多个参数值的任意值
JS获取浏览器地址栏的多个参数值的任意值
15 3
|
16天前
|
监控 Java 关系型数据库
java版MES系统源码,后端采用 Spring Boot 多模块架构
MES系统采用Vue3的vue-element-plus-admin为后台,Spring Boot多模块架构,支持MySQL、Oracle等数据库,具备SaaS多租户功能。核心功能包括车间计划排程、工艺流程配置、生产质量管理、进度追踪、库存和排班管理等,全面覆盖生产运营关键环节。
java版MES系统源码,后端采用 Spring Boot 多模块架构
|
1天前
|
IDE Java Linux
在Maven中设置JVM系统参数及Java应用调试实例
在Maven中设置JVM系统参数及Java应用调试实例
10 0
|
1天前
|
JavaScript
fastadmin js里获取后端传的参数
fastadmin js里获取后端传的参数
2 0
|
2天前
|
Java Spring 容器
详解java参数校验之:顺序校验、自定义校验、分组校验(@Validated @GroupSequence)
详解java参数校验之:顺序校验、自定义校验、分组校验(@Validated @GroupSequence)