在前端与后端传递数据时,会遇到这样一个问题,如果传递的字符串中含有特殊字符
如:+ 空格/ ? % & = #
如果不进行特殊处理,会发生数据丢失的现象。
例如:我在前端传入后端"aVUAAAACS+uJkta7" 但是后端接收的时候接收到的是
"aVUAAAACS uJkta7" ,特殊字符“+”丢失了。
解决的办法就是:
前端在传递之前,检查一下是否有特殊字符,如果有,进行一下转换编码操作。
例如:前端部分
var id="aVUAAAACS+uJkta7";
id = encodeURIComponent(encodeURIComponent(id));
后端在接收字符串时,检查是否有编码的形式,如果有,进行解码。这样就完成了特殊字符的传递。
后端部分:
String id = pd.getString("id");//获取id
id = java.net.URLDecoder.decode(id,"UTF-8");//特殊字符解码
这样id就成功完整地由前端传入后端了。