问题现象:

  在查生产tomcat下的localhost日志时,发现今天的记录有不少次都报org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 15005该异常。

问题分析:

  经查异常轨迹看到是某个查询要传的参数为空导致了全表查询,经过反向搜索页面请求入口,定位到了某个页面在进行初始化时在满足条件的情况下会执行此请求到后台;该请求传的参数是进行form表单序列化后得到的处理结果,那么就可以确定了序列化返回的结果内该参数没有值;然后结合页面查看该参数的input内容发现为disabled属性,此时猜测序列化的处理对disabled的失效;那么就看下该序列化参数方法是如何执行的,此js方法是重写了该内容进行了细微处理,大体未变;在循环内加上了页面日志打印,经过操作发现没有打印期望看到的name名称,那么可以进一步确认是上一步的var a = this.serializeArray()此方法返回结果不是所期望的;经过全局搜索该方法查到了jQuery-1.11.1,js此原生js文件内,看完此处的写法后就知道了serializeArray方法内对为disabled属性的进行了过滤,那么所期望的结果里该字段就不会有值了。

问题定论:

  经过上述排查经过,得知js的serializeArray方法会将disabled属性的内容剔除掉,导致$.fn.serializeObject序列化表单参数对象的方法返回的内容也是不含disabled属性的。

调整方式:

  将input内容可以设置为readonly属性,或者序列化表单之前将disabled形式去掉,结束后在还原。

随机推荐

  1. LOGO的浮空显示-Verilog

    为了方便生成准确的mif数据,以实现特定的透明效果.使用Photoshop将网上下载的Logo修改颜色,保存大小为120*120像素,如图1所示. 图1 ps修改后的Logo 使用Pic2mif软件, ...

  2. P1030 队列的基本操作

    题目描述 现在给你一个队列,它一开始是空的,你需要模拟队列的操作.队列的操作包括如下: "push x":将元素 x 放入队列中,其中x是一个int范围内的整数: "po ...

  3. hihocoeder1384

    hihocoeder1384 算法竞赛进阶指南上的题目 我们肯定是吧最大值和最小值匹配,次大值和次小值匹配以此类推 首先,类似于区间覆盖的思想,我们对于一个\(L\),找到最大的满足条件的\(R\) ...

  4. 【NOIP数据结构专项】单调队列单调栈

    [FZYZ P1280 ][NOIP福建夏令营]矩形覆盖 Description 有N个矩形,矩形的底边边长为1,且均在X轴上,高度给出,第i个矩形的高为h[i],求最少需要几个矩形才能覆盖这个图形. ...

  5. Flask学习-Virtualenv

    http://www.pythondoc.com/ VirtualEnv Virtualenv用于同一台机器上创建多个独立的Python虚拟运行环境,多个Python环境相互独立,互不影响,它能够: ...

  6. 2019 ICPC 陕西西安邀请赛 D. Miku and Generals

    传送门:https://nanti.jisuanke.com/t/39271 题意: 给你n个人,每个人有一个权值 a_i ​,(a_i​是可以被100整除的))现在需要你将n个人分成两组,有m个关系 ...

  7. Wannafly挑战赛25 因子 [数论]

    一.题意 令 X = n!, 给定一大于1的正整数p 求一个k使得 p ^k | X 并且 p ^(k + 1) 不是X的因子 输入为两个数n, p (1e18>= n>= 10000 & ...

  8. POJ-1741 树上分治--点分治(算法太奇妙了)

    给你1e5个节点的树,(⊙﹏⊙) 你能求出又几对节点的距离小于k吗??(分治NB!) 这只是一个板子题,树上分治没有简单题呀!(一个大佬说的) #include<cstdio> #incl ...

  9. vue学习笔记(六)表单输入绑定

    前言 在上一章vue学习笔记(四)事件处理器这一篇博客的内容中,我们已经了解vue是如何绑定事件的,而本篇博客主要讲解的是vue中表单输入的绑定,通常我们自己提交信息的时候都是通过表单将信息到服务器的 ...

  10. Python 任务自动化工具 tox 教程

    在我刚翻译完的 Python 打包系列文章中,作者提到了一个神奇的测试工具 tox,而且他本人就是 tox 的维护者之一.趁着话题的相关性,本文将对它做简单的介绍,说不定大家在开发项目时能够用得上. ...