首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
关于LoginSessionInterceptor的问题
HalcyonDays
2018-06-22 16:06
我只是ajaxform少写个#,LoginSessionInterceptor就直接把用户信息返回到页面,这是正常的流程吗??加上了#就正常的返回了errorMsg的信息
项目:
JFinal
评论区
JFinal
2018-06-22 16:12
少写一个 # ,那么 ajaxForm 这个方法的调用等于不存在,因为根本没绑定到相关的表单
注意百度搜索一下 jquery 选择器,尤其是 jquery id 选择器的用法
回复
JFinal
2018-06-22 16:14
这里再补充一下,虽然少写一个 # 还是可以提交表单,那是因为这个表单本身就具有可以提交的功能,写上了 # 以后,该表单的提交行为会被你的 ajaxForm 这个方法接管
字符 # 在此仅仅是 jquery id 选择器的要求,你还可以使用其它选择器,详情可以了解一下 jquery 的多种选择器,用得最多的是类选择器
回复
HalcyonDays
2018-06-22 16:17
@JFinal
但是我只是用validator判断用户名是否为空,为空就返回msg,然后刚好我ajaxForm少写一个#,他就返回了LoginSessionInterceptor当前登录的用户所有信息
回复
JFinal
2018-06-22 16:32
@HalcyonDays
返回信息都一样,只不过你写了 # 就是 ajax 请求,从直观上看不到返回信息而已,而少写一个 # 就是普通请求,造成页面跳转信息显示出来了
在 chrome 中按一下 F12 打开开发者工具,能清清楚楚看到请求返回的数据是完全一样的
回复
HalcyonDays
2018-06-22 17:11
@JFinal
...我刚刚测试了一下,就用club的发布反馈做了测试,将myArticleForm去除#,在MyFeedbackValidator最前面添加了validateRequired("feedback.title", "msg", "用户名不能为空");,按照,正常流程,是会在空白页只显示{"msg":"用户名不能为空"},但是我这里测试,会出现多余的{"msg":"用户名不能为空","_likeNum":999}likeNum,debug测试会经过LikeInterceptor
回复
HalcyonDays
2018-06-22 17:20
@JFinal
club我测试了下,他会出现多余的likeNum,而我的项目是在此跳转到LoginSessionInterceptor,然后会获取到了用户信息,返回到空白页,显示当前的用户信息,及第三张图,具体原因是什么不清楚,也不知道是不是bug
回复
JFinal
2018-06-22 17:34
@HalcyonDays
看控制台输出的 jfinal action report , 里头有一栏叫: Interceptor,删掉当前 action 不需要的拦截器就不会出现多余的数据了,这个绝对不是 bug
回复
HalcyonDays
2018-06-22 17:37
@JFinal
= =我这个Interceptor是配置在configInterceptor全局拦截器
回复
JFinal
2018-06-22 17:39
@HalcyonDays
不需要的话,去掉即可
回复
JFinal
2018-06-22 17:39
或者使用 @Clear(...) 用在 action 上,针对性的移除,看一下 jfinal 文档,里面有
@Clear
的详细用法
回复
HalcyonDays
2018-06-22 17:46
@JFinal
好的,谢谢波总,我对照了一下,我发现问题了,谢谢波总
回复
发送
我要反馈
热门反馈
扫码入社
注意百度搜索一下 jquery 选择器,尤其是 jquery id 选择器的用法