js中文传参需要对中文转码:
js代码:
function submitForm()
{
var hnbID = $.trim($("#hnbID").val());
var alarmID = $.trim($("#alarmID").val());
var alarmType = encodeURIComponent(encodeURIComponent($.trim($("#alarmType").val())));
var perceivedSeverity = $.trim($("#perceivedSeverity").val());
var probableCause = encodeURIComponent(encodeURIComponent($.trim($("#probableCause").val())));
var alarmState = $.trim($("#alarmState").val());
var startAlarmRaisedTime = $.trim($("#startAlarmRaisedTime").val());
var endAlarmRaisedTime = $.trim($("#endAlarmRaisedTime").val());
//访问地址
url = "getAllActiveInfo?hnbID=" + hnbID + "&alarmID=" + alarmID + "&alarmType=" + alarmType + "&perceivedSeverity="
+ perceivedSeverity + "&probableCause=" + probableCause + "&alarmState=" + alarmState
+ "&startAlarmRaisedTime=" + startAlarmRaisedTime + "&endAlarmRaisedTime=" + endAlarmRaisedTime;
document.dataList.action = url;
document.dataList.submit();
}
红色部分是转码代码,转码需要转两遍。
java后台接收代码:
@RequestMapping("/getAllHistoryInfo")
public ModelAndView getAllHistoryInfo(HttpServletRequest request, HttpServletResponse response,
HistoryAlarmInfo history, PageInfo page)
{
try
{
//从request范围内获取告警类型和告警原因,如果获取的属性不为空则进行转码并放到类对象中
if (null != request.getParameter("alarmType") && !"".equals(request.getParameter("alarmType")))
{
String alarmType = URLDecoder.decode(request.getParameter("alarmType"), "UTF-8");
history.setAlarmType(alarmType);
}
if (null != request.getParameter("probableCause") && !"".equals(request.getParameter("probableCause")))
{
String probableCause = URLDecoder.decode(request.getParameter("probableCause"), "UTF-8");
history.setProbableCause(probableCause);
}
//获取所有告警配置信息和基站信息
List<AlarmInfoConfig> alarmList = forService.getAlarmInfo();
List<HnbInfo> hnbList = hnbService.getHnbList();
List<HistoryAlarmInfo> historyList = null;
if (null != roleBank && null != history)
{
historyList = historyService.getAllHistoryInfo(history, page);
}
//把对象放到request范围
request.setAttribute("historyList", historyList);
request.setAttribute("history", history);
request.setAttribute("hnbList", hnbList);
request.setAttribute("alarmList", alarmList);
request.setAttribute("page", page);
}
catch (Exception e)
{
// TODO: handle exception
}
return new ModelAndView("warning/history_List");
}
红色部分是后台接收解码
分享到:
相关推荐
### js传参乱码解决(亲测可行) 在Web开发中,经常遇到的一个问题是客户端向服务器端传递参数时出现乱码的情况。这个问题主要是由于字符编码不一致所导致的。为了帮助开发者更好地理解如何解决js传参乱码的问题,...
解决JavaScript传参中文乱码问题的关键在于正确地使用编码函数,并确保前后端编码一致。 ##### 2.1 发送端编码 在客户端发送请求时,可以使用`encodeURIComponent()`或`encodeURI()`对中文参数进行编码。示例代码...
### get方式传参中文乱码问题的解决方案 在Web开发中,经常遇到GET请求传递中文参数时出现乱码的问题。这种现象通常出现在不同编码格式之间的转换过程中,导致浏览器或者服务器端解析参数时出现问题。本文将深入...
在本文中,我们将深入探讨JSP页面传参出现中文乱码的原因,并提供有效的解决方案。 1. 乱码原因: - **编码与解码不匹配**:当JSP页面、Servlet或服务器配置的字符编码不一致时,中文字符在传输过程中可能被错误地...
在Web开发过程中,使用JavaScript在URL中传递参数时,常常会遇到中文乱码的问题。这主要是因为URL和HTTP协议都是基于ASCII字符集设计的,而中文字符不在ASCII字符集范围内。因此,当参数中包含中文或特殊字符时,...
本教程将详细讲解如何在Android中实现JS与Java的双向函数调用,以及如何处理中文参数传递时的乱码问题。 1. **WebView组件** Android中的`WebView`组件是实现JavaScript与Java交互的基础。`WebView`可以加载HTML、...
本文将详细介绍几种常见的解决Ajax传参乱码的方法,并通过具体的示例代码来帮助大家理解和掌握。 #### 一、理解乱码产生的原因 在讨论解决方案之前,我们需要先了解乱码产生的根本原因。乱码通常是因为字符编码不...
本篇文章将详细探讨“GET中文传参(解码)”这一主题,以及如何正确处理中文字符在URL中的传输。 首先,我们需要理解编码和解码的概念。编码是将可读的字符转换为二进制表示的过程,而解码则是将二进制数据还原为...
js 中乱码处理法方式 encodeURIComponent(encodeURIComponent(customerAddress)) decodeURIComponent(customerName) js到java encodeURI(url) String qijuType= new String(request.getParameter( (...
本文将详细介绍如何解决JSP页面传参乱码的问题。 首先,我们需要了解JSP页面与服务器之间的通信机制。通常,当用户在JSP页面上填写表单并提交时,数据通过HTTP请求发送到服务器。这些请求参数默认使用ASCII编码。...
在实际解决乱码问题的过程中,如果发现使用Base64加密传输中文数据还会出现问题,可以改用URL编码的方式来传输数据,即使用JavaScript的`encodeURI`函数对数据进行两次URL编码,后端接收到后进行一次URL解码即可。...
一、Javascript 传参乱码 在浏览器端对要传递的中文参数进行编码处理可以使用 encodeURI 函数,对服务器端传递的中文参数进行解码可以使用 URLDecoder.decode 函数。在服务器端代码中,需要确保 jsp 页面的编码方式...
在参数值、参数名称以及报表名称中,如果包含中文字符或特殊字符,直接传递可能会导致乱码或错误问题。因此,需要对这些中文或特殊字符进行编码转换。 为了解决这个问题,FineReport提供了一个内部封装的编码方法,...
当我们需要在两个页面间通过URL传递参数时,经常会遇到中文乱码问题。这个问题主要是因为URL中的参数可能没有经过正确的编码和解码处理。为了解决这个问题,我们可以采取一些方法,特别是当使用jQuery来获取URL参数...
当客户端和服务器端进行交互时,字符编码的处理尤其重要,尤其是在不同浏览器环境下,字符编码处理不当,常常会造成中文乱码问题。特别是IE浏览器(例如IE8)在post提交时出现中文乱码的现象,解决这一问题的方法和...
然而,当这些参数包含中文字符时,可能会出现乱码问题。这是因为不同的编码方式对特殊字符和非ASCII字符处理不同,导致在传输过程中出现编码解码不一致的情况。 首先,我们需要了解三种主要的JavaScript编码函数:`...
为了解决奇数个中文字符URL传递乱码的问题,可以采用JavaScript来实现正确的编码处理。具体步骤如下: 1. **获取原始URL**:首先获取用户输入或系统生成的原始URL。 2. **编码处理**: - 使用`encodeURI()`函数...
经过实践发现下面的方法可以解决中文乱码问题: JSP的JS中:中文参数用encodeURI(encodeURI(中文参数)),经过两次转码。例如: 代码如下: function show(next,id,realName){ document.forms[‘f2’].action=”...