您的位置:首页 > Web前端 > JQuery

2015年创业中遇到的技术问题:51-60

2015-05-03 00:00 330 查看
51.FastJSON序列化。

fastjson 转换内嵌json对象Object{"$ref":"$.rows[1].xxxx"}怎么在前台解析。

原来的方法:

JSONObject jsonObject;

jsonObject.toJSONString();

现在的方法:

JSON.toJSONString(o,SerializerFeature.DisableCircularReferenceDetect);

参考资料:
http://www.oschina.net/question/914393_137730

52.安全问题。

程序漏洞,查询多余的信息。

正确的写法:select * from loan_comment where lid =#{lid}

可能错误的写法:而不是 select * from loan_comment where 1=1

<if lid != null>

and lid = #{lid}

</if>(这种写法,不适合从外界传入lid,因为lid可能没有传入,从而导致可以查询出所有的评论。

这种写法,适合后台程序,一定传入lid的情况)

类似的还有,查询用户等信息JSON请求,只需要查询必要的字段信息。用户密码,是绝对不能通过JSON看到的。

53.jquery官方推荐用on绑定事件

上次,做前端的同事看了我的代码,用的是bind方法,他建议用on。

刚刚,又看了bind,就百度了on和bind了区别,发现官方是推荐用on的。

jquery1.7推荐。

54.ArtDialog对话框用法。

先调用close,再调用remove才彻底关闭了对话框。

d.close().remove();

55.妈个蛋啊,巨大的失误。

a页面,include包含了b页面。

a和b都引入了相同的js文件。

怪不得,每次弹出对话框,得“点击两次关闭”才行。

自己把自己坑了,在通过浏览器查看源码的时候,发现了这个严重的问题。

56.同样的问题,又纠结了几分钟。

给超链接a绑定事件,

<a href="javascript:;" onclick="remove()">remove</a>

remove貌似是JS中的保留字。

57.jquery获得checkbox是否选中。

JS推荐方式:

//var test = document.getElementById("usescore").checked;

Jquery推荐方式:console.log($("#usescore").is(":checked"));

还有个奇葩的问题,checkbox选中之后,通过chrome查看元素,没有及时生成checked属性。

参考资料:
http://www.cnblogs.com/-run/archive/2011/11/16/2251250.html

58.JS和CSS版本与缓存。

JS带上版本号。

Freemarker定义变量version=20130323

JS定义 fupage.js?version=${20130323}

59.JS逻辑bug。

this.isTable = options.isTable || true;// 默认是table

本意:如果isTable没有配置,默认为true。

结果,isTable手动配置为false,仍然为true。

修改为:

// 默认是table

if( options.isTable==undefined){

this.isTable = true;

}else{

this.isTable = options.isTable;

}

60.fupage增加加载错误提示功能。

之前的fupage如果,服务器出错,或者网络异常,会一致提示“玩命加载中的动画效果”。

现在改了,如果加载成功,renderOk为true。

否则,5秒后,提示“服务器繁忙,请稍后再试”。

setTimeout(function() {

if (!renderOk) {

busyTip(that.bodyHolder, that.isTable);

}

}, 5000);

妈蛋,又发现1个问题。

if (isTable) {

// 偷懒,一般表格不会超过20列,设置为20,横跨所有列

loadingDiv = "<tr style='text-align:center;'><td colspan=20>";

} else {

loadingDiv = "<div style='text-align:center;' >"

}

无论是普通的表格,还是DIV,记得加上“style='text-align:center;'”,保证动画效果居中显示,看着舒服。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息