CMeUp

记录一些学习心得,QQ:1139723651.

nodejs 模块加载机制

模块分类

原生模块

  比如, http, util, url, querystring,os,fs,path 等等,这些都在源码包的 lib 下。当运行 nodejs 时,相当于已经加载了这些库,可通过 require () 直接获取。

自建文件模块

  这些一般是自己写的 js 文件,以 module.exports = function_name or object 导出,需要的时候,通过 require (“./file_path/file_name”) 访问,注意前面的./ 不能省略

阅读全文 »

ajax 访问 json 格式不进 success

原因

  1. 返回的数据类型一定要符合定义的数据类型。即如果你定义的 dataType 是 json 类型的,那么返回来的数据一定是 json 才可以,不然就会执行 error 。
  2. 需要特别的注意返回的 JSON 数据是否是严格的 JSON 格式.
  3. 也应该严重关切当后台返回的是一个 List 数据(List 当中的数据是 Json 格式)时,有没脏数据即不是严格的 JSON 格式。
    很隐蔽的可能是数据某一个字段中在开始或末尾含有特殊字符,以” 回车键”、”Tab 键” 等
  4. 原因是 ajax 请求跨域了,解决方法参见上一篇日志,ajax 跨域
  5. 也有可能是跨域时请求头的问题,比如请求头如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Accept:*/*
    Accept-Encoding:gzip, deflate, sdch
    Accept-Language:zh-CN,zh;q=0.8,en;q=0.6
    Access-Control-Request-Headers:x-requested-with
    Access-Control-Request-Method:GET
    Connection:keep-alive
    Host:10.108.226.92:9999
    Origin:null
    User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36
    如果存在 Access-Control-Request-Headers:x-requested-with 这种自定义请求头(一般是 jquery 自己加的,为什么加我就不清楚了),此时在服务器响应头设置”Access-Control-Allow-Headers”:”X-Requested-With” 即可。

这类隐蔽错误的规避措施

就是好的编程习惯:
  • 对于在页面填写入库的数据最好强制性的做,去空操作 <利用客户端最好>。
  • 特殊的业务需注意特殊字符。
    这样还不够,因为在开发过程中测试或开发人员自己在数据库中手动添加数据,可能会多加了空格等,导致程序调试,测试带来了麻烦。 这时就需要考虑在后台代码对获取的数据做处理。

跨域方式

jsonp

原理

jsonP 是采用 script 的 src 访问无限制(事实上很多元素的 src 都无访问限制)。比如,当 script 访问的 url 地址为:
<script type=”text/javascript” src=”http://localhost:9999?callback=ttt“> 当服务器接收到请求时,对 query 语句进行解析(上述 query 语句为 callback=ttt),然后将 ttt 作为回调函数名称,以拼接字符串的形式,返回给浏览器,如返回:”” + “ttt (“ + data + “);” 即可。这里给出 nodejs 服务器简单设置:

阅读全文 »


很久没写日志了,不是忘了,确实是最近学习上的杂事多。不多说,扯远了。
这次就分下面几个小方面记录一下最近的学习心得吧,免得忘记。

关于 background 属性的使用

attachment 属性,用来说明背景的固定与否;
position 属性,可用百分数,或者像素或者文字(先水平后垂直);
repeat 属性,选择背景图片是否重复。一般不重复。no-repeat;
clip 属性设置背景的绘制区域,是在内容盒,内边距盒还是边框盒(默认);
origin 是定位基准。默认内边距;
size 属性很有用,设置背景图片大小。

阅读全文 »


flex 布局

flex 是 flexible Box 的缩写,意为” 弹性布局”,用来为盒状模型提供最大的灵活性。

1
2
3
4
5
6
7
8
任何一个容器都可以指定为Flex布局。
.box{
display: flex;
}
或者:
.box{
display: inline-flex;
}

注意,设为 Flex 布局以后,子元素的 float、clear 和 vertical-align 属性将失效。

阅读全文 »
0%