首页 > 其他 > 详细

记录一个小问题,如果前端传递的参数是加密过的,需要在后台解密

时间:2019-08-09 18:59:26      阅读:57      评论:0      收藏:0      [点我收藏+]

如果前端传递的参数是加密过的,需要在后台解密,有中文等特殊符号需要用到加密:

前端代码:

 $.ajax({
        type: "POST",
        url: "/init/SaveToDatabase",
        dataType: "json",
        async: false,
        data: decodeURIComponent(JSON.stringify(array)),
        success: function (result) {
        var statusCode = result.StatusCode;
        console.log(statusCode);
        if (statusCode == 200) {
        layer.msg("成功:请求已经成功...");
        } else if (statusCode == 500) {
        layer.msg("失败:请求失败,请重试...")
       }
      }
  });

后台代码:

 1 public JSONObject saveToDatabase(String jsonArray) throws UnsupportedEncodingException {
 2         //前台传的数据是加密的,后端解密
 3         jsonArray1 = URLDecoder.decode(jsonArray1, "utf-8");
 4         //踩过的坑,解密之后的数据最后一个字符多了一个=号,截取掉,endsWith判断最后一位是否是=号
 5         if (jsonArray.endsWith("=")) {
 6             jsonArray = jsonArray.substring(0, jsonArray.length() - 1);
 7         }
 8         //转化成json数组
 9         JSONArray jsonArray = JSONArray.parseArray(jsonArray);
10 }

补充一句,后台的加密写法:

name = URLEncoder.encode(name, "utf-8");

 

记录一个小问题,如果前端传递的参数是加密过的,需要在后台解密

原文:https://www.cnblogs.com/wangquanyi/p/11329081.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!