【原创】08. easyui form控件,回调参数存在后缀 audio controls="controls" style="display: none;"></audio>
- jQuery EasyUI 1.4.3
- springmvc 3.2.6
- 谷歌浏览器,内核版本 chrome 56.0.2924.87
- 360急速浏览器,内核版本 chrome 50.0.2661.102
查看版本方式:http://chrome.360.cn/test/core/
- easyui 使用如下:
123456
$(datagrid.dilogFormID).form(
'submit'
, {
url: datagrid.submitUrl,
iframe:
false
,
onSubmit:
function
(param){
},error:
function
(result){
},success:
function
(res){...}
- spingmvc code:
123456@RequestMapping(value=
"/saveOrUpdateParkAdditional.do"
)
@ResponseBody
public String saveOrUpdateParkAdditional(HttpServletRequest request) {
return
"itemTypeError"
;
}
- 先用谷歌浏览器提交from,返回响应:响应结果是正确的
但是,当我调试js查看success回调函数 参数时,发现 正确结构后面被追加了:<audio controls="controls" style="display: none;"></audio> - 查看easyui源码,发现几处关键代码:
- 这个success回调函数:res 的值是在何处?如何得到到?
12345678910
function
cb() {
var
f = $(
"#"
+ _507); // $("#" + _507) 何时创建的,什么内容?
if
(!f.length) {
return
;
}
f.unbind();
var
data =
""
;
try
{
var
body = f.contents().find(
"body"
);
data = body.html();
- 再跟踪这个 body 的来源:
123456789101112(
function
($) {
function
_503(_504, _505) {
var
opts = $.data(_504,
"form"
).options;
$.extend(opts, _505 || {});
var
_506 = $.extend({}, opts.queryParams);
if
(opts.onSubmit.call(_504, _506) ==
false
) {
return
;
}
$(_504).find(
".textbox-text:focus"
).blur();
var
_507 =
"easyui_frame_"
+ (
new
Date().getTime());
var
_508 = $(
"<iframe id="
+ _507 +
" name="
+ _507 +
"></iframe>"
)
.appendTo(
"body"
);
// here
原来easyui 添加了个iframe,并将服务端的返回值 塞进 该iframe#body
- 那么问题关键点,找到了,就是这个$(...).appendTo("body"),分别在 当前最高版本谷歌(chrome 56.0.2924.87) 和 360急速浏览器(chrome 50.0.2661.102)执行:
1$(
"<iframe id='t2eewqeqwst' name='tews2st'></iframe>"
).appendTo(
'body'
)
验证发现:
- 谷歌,body 存在 auto 元素
补加测试:chrome 55 版本也存在 auto 元素 - 360急速浏览器,body 元素内是干净的。
- 原因找到了,但是至于怎么正面解决还不清楚。
不过我们可以返回非String来避免,比如:Map<String,String> 类型即可避免。
- springmvc controller:
123
@RequestMapping(value=
"/saveOrUpdateParkAdditional.do"
)
@ResponseBody
public List<Map<String,Object>> saveOrUpdateParkAdditional(HttpServletRequest request) { ....}
- 当返回类型 String 时,或者是 List,Map等,内容含有中文是不会导致中文乱码的
- 当返回类型!String 时,且情形如下,会出现中文乱码:
123456@RequestMapping(value=
"/saveOrUpdateParkAdditional.do"
)
@ResponseBody
public String saveOrUpdatePark...{
renturn
"中文"
}
- sss
【原创】08. easyui form控件,回调参数存在后缀 audio controls="controls" style="display: none;"></audio>的更多相关文章
- 前端模板之EasyUI常用控件及参数
CSS类定义 div easyui-window window窗口样式 属性如下: 1) modal:是否生成模态窗口.true[是] false[否] 2) shadow:是否显示窗口阴影.true ...
- [转]easyui常用控件及样式API中文收藏
[转]easyui常用控件及样式收藏 2013-05-06 23:01 30612人阅读 评论(0) 收藏 举报 分类: java ee(5) 目录(?)[+] CSS类定义: div easyu ...
- EasyUI常用控件禁用方法
EasyUI常用控件禁用方法: 1.validatebox可以用的用法:前两种适用于单个的validatebox; 第三种应用于整个form里面的输入框; <1>.$("#id& ...
- C# 跨线程调用form控件技巧及byte[]与string型相互转换
跨线程调用form控件技巧 private delegate void MethodSocket(object obj);//使用托管 ss = "OK"; this.BeginI ...
- 疑似easyui本身bug:easyui时间控件问题,试了几个版本都不行
最近发现easyui时间控件的值格式不支持带斜杠的日期(2016/10/31),必须是2016-10-31这类的才能正常使用,否则默认初始化为当前时间 <input id="Retur ...
- 《zw版·Halcon-delphi系列原创教程》halconxlib控件列表
<zw版·Halcon-delphi系列原创教程>halconxlib控件列表 Halcon v11.01版,com控件,安装后,共有75个控件, 不过最重要的控件,只有两个,T ...
- 在WPF中添加Windows Form控件(包括 ocx控件)
首先,需要向项目中的reference添加两个dll,一个是.NET库中的System.Windows.Forms,另外一个是WindowsFormsIntegration,它的位置一般是在C:\ ...
- Jquery获取EasyUI时间控件的值
jquery easyui日期控件中,在页面里用JS拿到设置的日期值的方法 jquery easyui 日期框 有这样的一个日期文本框: <input type=" value=&qu ...
- easyui时间控件用js实时获取选定的时间的取法
easyui时间控件用js实时获取选定的时间的取法var datetime=$("#id").datetimebox("getValue");不能用 $(& ...
随机推荐
- Nginx下支持ThinkPHP的Pathinfo和URl Rewrite模式
下面介绍如何使Nginx支持ThinkPHP的Pathinfo和URL Rewrite模式. 1.ThinkPHP给出了ThinkPHP的官方解决方案,如下: 打开Nginx的配置文件 /etc/ng ...
- Hibernate的使用
1 创建一个Java项目,在项目中新建一个lib,将需要的Hibernate包和MySQL包导入,并Build Path 2 在src下添加Hibernate.cfg.xml在此文件中对Hiberna ...
- Zookeeper:分布式程序的基石
一.目录 1.zookeeper是什么? 2.安装.配置.启动.监控 3.javaApi基础用法 4.应用场景 5.CAP理论/paxos算法 二.zookeeper简介 官方版:zookeeper是 ...
- unity3d项目导入android studio
第一步 拿到unity3d项目,里面包含以下文件 第二步 在android studio下新建一个project 第三步 将unity3d项目目录下的libs下的jar文件复制黏贴到android s ...
- 查询sql表列名
--查询sql 查询表列名Select Name FROM SysColumns Where id=Object_Id('Tab') --查询sql数据库表列名称select name from sy ...
- 基于Dubbo的分布式事务框架(LCN)
原文地址:http://原文地址:https://github.com/1991wangliang/transaction 基于Dubbo的分布式事务框架(LCN) 该框架依赖Redis/dubbo/ ...
- Spring Boot 集成swagger实例
原文:https://github.com/x113773/testall/issues/5 1. 首先添加maven依赖``` <dependency> <groupId>i ...
- Ext & Java 上存图片 Demo
Ext & Java 上存图片 Demo Ext <html> <head> <script id="microloader" type=&q ...
- eclipse 配置ssh
用maven 新建工程 ,然后在src 下面的main 文件夹下新建 java文件夹,在src新建test 文件夹,然后再在下面新建java文件夹然后在pom.xml中引入ssh的依赖, 最后在res ...
- 关于rem单位
CSS3的出现,他同时引进了一些新的属性,包括我们今天所说的rem.在W3C官网上是这样描述rem的——“font size of the root element” . em单位是相对于父节点的fo ...