适用场景:
1、js、ajax前端传参到后端,中文乱码问题;
2、js、ajax前端json传参到后端,json参数含有特殊字符报错问题;
提醒:所以提前用base64处理json字符串或参数
使用方法:
一、js中base64加密(依赖base64.js):
BASE64.encoder(str)
补充方法:js的window对象自带的base64
1、方法用于创建一个 base-64 编码的字符串
window.btoa(str)
2.base-64 解码使用方法是
window.atob(xxx)
二、java后端base64解密(str即为中文乱码参数):
import org.apache.commons.codec.binary.Base64;//依赖包
str = str.replace(" ", "+");//base64解密部分乱码问题(“+” 号,在urlecode编码中会被解码成空格)
String 解密后 = new String(Base64.decodeBase64(str), "UTF-8")
额外适用技能:js中组装拼接json对象,转字符串
步骤:将数据放入js的map中,然后再将map对象push到集合,最后转成json字符串
//拼接json数据
var kind = "";
var price = "";
var json;
var list = [];
$("tr").each(function () {
kind = $(this).find(".kind").val();
price = $(this).find(".price").val();
if(kind != null && kind != ""){
var map = {};
map["kind"] = kind;
map["price"] = price;
list.push(map);
}
});
json = JSON.stringify(list);