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


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

    前端代码:

     $.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");
  • 相关阅读:
    codevs 1163:访问艺术馆
    codevs 2853:方格游戏
    冲刺Noip2017模拟赛2 解题报告——五十岚芒果酱
    HDU 1317:XYZZY
    codevs 1380:没有上司的舞会
    POJ 1734:Sightseeing trip
    lesson 23 one man's meat is another man's poison
    wordlist 4
    TPO-12 C1 Revise a Hemingway paper
    lesson 22 by heart
  • 原文地址:https://www.cnblogs.com/wangquanyi/p/11329081.html
Copyright © 2020-2023  润新知