二:nodejs+express+redis+bootstrap table+jquery UI
介绍:做一个量化投资的实时系统。
综合:
添加记录,顺序改变的话,refresh之后,能正常刷新吗?可以正常刷新,只是顺序又变回去。
express中用fs readfile 时,需要用path.join来写路径,如果用路由的话,会读出来数字。
json的读取和存储,JSON.parse(data);会变为一个json对象; JSON.stringify(data);把json变为字符串,如果这时候写入.json中,则不会有合适
的缩进。所以需要JSON.stringify(data, function(key, value){return value;}, 4)。多亏了我扎实的基本功,看过的书幸好没有忘记。
不过感觉stringify函数有一点不好的地方,如果不写第二个参数(函数)的话,就不行的,它不会识别一下第二个不是function,直接把它看为第
三个参数吗?
data.constructor--可以看出函数的类型。不要什么都看做object
mac上fq,得要blcu的才可以。如果用360WiFi的话,用同一个application会有问题。
var item = {}; for(var i=0; i<keys.length; i++){ (function(num){ console.log('num:'+num); item['id'] = num; item['reqstr'] = keys[num]; result_array.push(item); console.log('result_array:'+JSON.stringify(result_array)); })(i); } //会出现类似闭包的情况,需要把item初始化写在闭包内。
linux下是/,win7中是\\。表示路径的方式不同。
使用$.get,$post*(),要返回json,否则不会调用success方法。
hget不到,是因为返回的值中,已经有了,now。而我自己又加了一个。
jquery UI:
使用Jquery UI的dialog时,打开对话框后,按键盘上的enter,则会刷新页面。需要在open中捕获enter事件,并取消该事件。
$(this).bind("keypress.ui-dialog", function(event){ if(event.keyCode == $.ui.keyCode.ENTER){ return false; } });
尽量还是用jquery, jquery UI.js,jqeury UI.css的CDN,本地的话,有些图标加载不上。
express:
express中用fs readfile 时,需要用path.join来写路径,如果用路由的话,会读出来数字。
process.cwd() express项目的根目录,linux的pwd命令也可以看出根目录。
json2.js一般只需要用在client。
bootstrap table queryParams
queryParams: function(p){ return { jiansuoxiang: encodeURI($('#jiansuoxiang').val()), pipei: encodeURI($('#pipei').val()), cong: encodeURI($('#cong').val()), dao: encodeURI($('#dao').val()), jiansuoci: encodeURI($('#jiansuoci').val()) }; }, columns: [{