为了账号安全,请及时绑定邮箱和手机立即绑定

一场页面载入事件引发的血案

一场页面载入事件引发的血案

慕尼黑5688855 2019-03-06 14:27:30
碰到了一个问题,我打算写一个option的工具类,这样的话可以方便我来构造opention标签,先上代码意图很明确,通过ajax像后台传入一个dictypeCode的参数,来得到一个json数据,后台数据是由Hibnate来进行查询的,后台代码我确定没啥问题然后我写了一个页面载入的事件来调用这个函数,类似于这样这是一个Jquery的函数,通过第一个参数来决定像后台传入那些数据,本来以为到这就写好了,但是奇葩的事情却发生了我在上面的那个函数里自己构造了一个option标签,但是查到的数据却是一样的,通过打印后台的json我看到了这个这让我觉得很惊奇,我在页面载入事件里明明传的是001,002,004,到后台怎么都解析成了001了呢,以为自己代码写错之后不甘心的刷新了一下页面,结果却变成了这样:这让我更加的不解了,看了下后台的json数据,数据却是这样的于是再次刷新了下页面,数据却又是正确的了这让我觉得非常不理解,为什么有时候刷新页面数据是错误的,有时候却又是正确的,有时候数据又都是重合的,查了半天也没查出什么原因,求解,感激不尽
查看完整描述

1 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

下面来分析下原因:
首先我以为是缓存的问题,但是ajax post提交是没有缓存的,多说一嘴,我这个网站是SSH架构的,通过边城网友的启发我去浏览器抓了一下前端的数据包,发现数据是正常提交到后台的,但是后台的代码返回的json却是固定的,于是我去看了下spring的配置文件

https://img3.sycdn.imooc.com/5c835c820001c94108000095.jpg

很明显,我先前并没有设置scope属性,导致spring只为后台的baseDictaction创建了一个对象,尽管我提交上去的数据是三个,但是如果只创建了一个对象的话相当于我只访问了一次baseDictaction,于是把Scope属性改成多例的,问题解决


查看完整回答
反对 回复 2019-03-09
  • 1 回答
  • 0 关注
  • 364 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信