在前端与后端传递数据时,会遇到这样一个问题,如果传递的字符串中含有特殊字符
如:+ 空格/ ? % & = #
如果不进行特殊处理,会发生数据丢失的现象。
例如:我在前端传入后端"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就成功完整地由前端传入后端了。
本文介绍了一种在前端与后端之间正确传输含有特殊字符的数据的方法。为避免数据丢失,前端采用双重编码处理,而后端则进行解码,确保特殊字符能够完整传输。
2616

被折叠的 条评论
为什么被折叠?



