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

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

前端代码:

 $.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

时间: 2024-08-26 22:00:18

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

记录一个小技巧,在一个包下的多个main函数调试

在eclipse中,有好几个class想做测试,又不想工程太多,都写在了一个包里面,也方便import 但是每次运行的时候,eclipse都默认运行第一次建立的那个main函数. 要想运行其他的,需要做一下修改. 在工具栏中, 点击run旁边的下拉箭头,会出现一个下拉菜单. 点击Run Configurations 进入到配置界面 在标注红色的区域,上面那个是选取工程,下面那个是选取该工程的主函数 在这里点search,找到你刚写的新的主函数,如果里面还看不到,可以手动输入就好了 然后点击app

SpringMVC接收不到前端传递的参数原因分析

前言 ?在学习SpringMvc的时候遇到了一个问题,后台一直接收不到前台传递过来的参数,耽误了好长时间终于找到了原因,写篇博客记录下这个坑,嘤嘤嘤 --__-- 代码清单 ?使用SpringMvc接受前台传递的参数非常简单,只要参数名和前台表单中的名称一致即可,我弄得是一个文件上传的例子,所以看下我的前台页面 <body> <!-- enctype="multipart/form-data"在文件上传时加入,编码类型,其值默认是application/x-www-f

记录一个小技巧:iis6的默认首页修改

学校的网站被攻击了.之前是Apache作为服务.无奈被攻击,换做iis. 把程序都替换了. 打开首页的时候,打不开.但是加上后缀就可以打开了. 这个时候 该如何设置iis的首页呢? 答案就是: IIS 右键你的网站 属性 默认文档 添加 index.html 然后调整顺序 保证 index.html在第一 当然也可以进行其他首页面的添加: 1.在功能视图中,IIS ->默认文档 2.点添加,输入你的页面(如何来文件夹,也要一起输入). 3.然后,右击你的页面,点击启用. 记录一下咯.二飞日志

记录一个小问题

行内元素,编辑器下换行,浏览器下预览会有间隙 <body> <span>1</span> <span>1</span> <span>1</span> <span>1</span> <span>1</span> <span>1</span> <p>同样的行内元素</p> <span>1</span><

记录一个小技巧

新手在刚安装完成MATLAB之后,可能会想要更改自己的默认工作文件夹,有时候设置预设路径后并不起作用,这个时候可以试下下面这个方法. 1.右键点击matlab快捷方式,更改起始位置为你想要作为默认的工作文件夹路径,然后点击应用确定即可. 原文地址:https://www.cnblogs.com/lfsometimes/p/10199186.html

可能你不知道的字符串中的一个小坑!!!

简单的记录一个小问题,一直居然都没怎么注意,心底对自己深深的说了一句:"你真菜"! 平时日常我们接触到的数组去重太常见了.然后对于字符串的去重,也是可能用的IndexOf.或者转成数组去查重,然后再转换回来! 在尝试用其他方法的时候遇见一个小问题,在此记录下来与大家分析! var str = '521213756406'; for(var i = 0; i < str.length-1;i++){ for(var j = i+1;j < str.length; j++){

记录一个在制作Swing程序的小怪事

在制作一个Swing程序时,出现了奇怪的事情,程序在Eclipse里执行正常,但打包后再执行那些动态执行的控件就消失不见了.截图如下: 在Eclipse里正常执行的画面: 打包执行后出现的画面: 可以发现,那些动态创建的CheckBox都消失了. 起初也在网上找什么解决方案,什么updateUI(),repaint(),invalidate()之类的,乱试乱碰,结果当然是无效了. 增加log查看,发现动态创建时需要读取的文件没找到,原来是一个配置文件没有拷贝到jar所在的目录中! 有时候,发现心

C#小知识点记录(QQ交流群的一个小问题)Linq提取数据

请教 这里 LINQ想 找到 最后的 4条 记录 然后放在 这里这个 List Linq查找怎么写呀? 解答:写了一个小例子作为解答. 1 namespace C_Sharp 2 { 3 class Program 4 { 5 static void Main(string[] args) 6 { 7 //声明 8 List<Person> listPerson = new List<Person>() { 9 new Person {Type="A", Fir

一个小错误记录

有些人经常会碰到这样的情况Uncaught TypeError: Cannot set property 'style' of null 其实这是一个小错误他的意思是JS没有找到相应ID的元素,所以不可以修改,大概是这样把 怎么解决呢 先看一下document.getElementById("p1").style="color:#fff";里面的p1是否存在,如果不存在,那么是你写错了,如果存在,请把调用这句<script xxx>xxx</scr