关于项目中一些前端框架的问题汇总(持续更新)

来源:互联网 发布:暗黑黎明挂机软件 编辑:程序博客网 时间:2024/05/01 03:43

1.关于easyui-datagrid表格的隐藏显示问题:

问题:

在做项目的时候发现,easy-datagrid表格放在一个div中,然后设置该div属性为display:‘none’,也就是默认隐藏,然后需要通过某种动作触发它显示的时候,

就会发现显示不出来。

解决方法:

设置该div的class=“easyui-panel” closed=“true”,然后该表格默认隐藏,当需要显示该表格的时候,使用$(‘#divid’).panel('open');然后我们就发现表格可以正常显示了。


2.关于ajax传递数组参数至springMVC框架后台的controller类中问题:

在做项目的时候发现,拼接url参数的方式只能传递单个字符串,而不能传递一个数组,有时候字符串如果是中文,传到后台接收的时候,很大可能性会是乱码,所以要么在后台转换一下编码格式,要么传递一个主键参数到后台再去数据库做一遍查询,这时候,如果我们能把这些字符都打包到数组里,到后台在截取出来,可能会方便一些,下面看这种方式的使用:

function demo(){

var a = '1';

var b = '2';

var c = '3';

var param = {titles:[a,b,c]};

var send_url = '/demo.do';

$.ajax({

url :send_url,

type : "POST",

data : param,

dataType : "json", //需特别注意,此处的dataType是表示该ajax提交需要返回一个json类型的数据,而不是指传递给后台的数据,要小心!!!

success : function(data){

alert(data);

}

});

}


在controller类中的处理:

@RequestMapping(value="/demo.do")

public String demo(@RequestParam(value="titles[]") String titles){

//根据逗号来截取titles这个字符串就能得到前台传过来的a,b,c字段啦!

}


3.关于ajax提交的同步异步请求问题:

在js中,使用ajax提交,默认会是异步执行,意思就是,在提交动作的同时,会继续执行后面的代码,例如:

$.ajax({

type : "POST",

url : "",

success : function(){

alert("1");

return;

}

});

alert("2");

在上面这段代码里面的执行顺序是,不管1是否输出,2都会输出,就是不再是从上往下执行代码顺序,如果要避免这种情况,我们只需要关闭

ajax提交的异步执行就行,例如:

$.ajax({

type : "POST",

url : "",

async : false,//加上这个,要不然会异步执行,这里没执行完就执行后边代码

success : function(){

alert("1");

return;

}

});

alert("2");

这样运行的结果就是,如果是输出1,那么2就不会再输出了。


0 0
原创粉丝点击