遇到问题---getJson传给后台的参数乱码
发布时间:2020-12-16 19:10:39 所属栏目:百科 来源:网络整理
导读:项目中使用spring sturts action 传值 出现乱码 而且google浏览器中没乱码 ie下传值乱码 在jsp中使用getJson传值 $.getJSON("%=basePath%/query/searchCompareTable?geneName="+geneName+"fieldName="+fieldName+"minValue="+minValue+"maxValue="+maxValue,
项目中使用spring sturts action 传值 出现乱码 而且google浏览器中没乱码 ie下传值乱码
在jsp中使用getJson传值
$.getJSON("<%=basePath%>/query/searchCompareTable?geneName="+geneName+"&fieldName="+fieldName+"&minValue="+minValue+"&maxValue="+maxValue,function(datatable) {
java中 action接收为set接收 private String geneName; private String fieldName; private double minValue; private double maxValue; public void setGeneName(String geneName) { this.geneName = geneName; } public void setFieldName(String fieldName) { this.fieldName = fieldName; } public void setMinValue(double minValue) { this.minValue = minValue; } public void setMaxValue(double maxValue) { this.maxValue = maxValue; }
这个时候服务器的tomcat的server.xml配置 已经设置成 utf-8
jsp页面头部为
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <%@taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html> <html> <head> <base href="<%=basePath%>"> <meta charset="UTF-8"> <title>gseInfo</title> <link type="text/css" rel="stylesheet" href="css/skin.css" /> <link type="text/css" rel="stylesheet" href="css/genesboxUI.css" /> <script type="text/javascript" src="js/jquery-1.10.2.min.js"></script> <script src="js/controls.js"></script> <script> document.createElement('header'); document.createElement('nav'); document.createElement('aside'); document.createElement('section'); </script> 这个时候发现 中文参数 乱码
解法一
解决办法 jsp中 getJson 中英文参数加上一次转码 encodeURI(geneName)
$.getJSON("<%=basePath%>/query/searchCompareTable?geneName="+encodeURI(geneName)+"&fieldName="+encodeURI(fieldName)+"&minValue="+minValue+"&maxValue="+maxValue,function(datatable) { action中不解码
解法二解决办法 jsp中 getJson 中英文参数加上两次转码 encodeURI(encodeURI(geneName)) encodeURI(encodeURI(fieldName)) 如下:
$.getJSON("<%=basePath%>/query/searchCompareTable?geneName="+encodeURI(encodeURI(geneName))+"&fieldName="+encodeURI(encodeURI(fieldName))+"&minValue="+minValue+"&maxValue="+maxValue,function(datatable) { action中解码
compareResultHtml=""; try { geneName=URLDecoder.decode(geneName,"utf-8"); fieldName=URLDecoder.decode(fieldName,"utf-8"); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |