Capturing Life & Tech
相当于在用户和服务器之间加了—个中间层(AJAX引擎),使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做, 只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。
ajax
状态码
排序 | 时间 | 状态码 |
---|---|---|
0 | XHR对象刚创建 | 0 |
1 | open建立连接成功 | 1 |
2 | 接收头信息完毕 | 2 |
3 | 接收body信息完毕 | 3 |
4 | 成功,结束后 | 4 |
ajax
的好处就是不阻塞后面代码的执行。
核心–XMLHttpRequest
对象,一个专门的HTTP
请求工具
使用XMLHttpRequest
做Ajax
请求:
标准` new XMLHttpRequest()`
低版本`IE(678)`,`new ActiveXObject('Microsoft.XMLHTTP')`;新的`jQuery`已经抛弃IE6,**程序员不应该去迁就用户的坏习惯,有时候需要逼用户改变习惯。**
1 | function createXHR(){ |
分析HTTP协议,请求需明确几个因素:
1)请求方法:GET/POST/PUT/DELETE/HEAD
2)请求哪个资源(URL)
3)同步方式–同步/异步
1 | function vote(){ |
题按–在真正的Ajax
出现之前,是怎么实现类似效果的。
这几天断断续续的看完了
ajax
和http
相关的教程,查询了Wikipedia相关资料,接下来几天,整理一下。
投票需求:要求无刷新投票,并且不允许使用XMLHttpRequest对象
分析:在XHR对象没有流行之前,已经有无刷新这种效果的要求
原理:利用http 204 No Content 状态码,浏览器不会跳转
前端:
1 | <body> |
后端:
1 | <?php |
需求
项目的网站时做的手机网页,但是没有考虑到自适应pc端,只是在chrome中固定了手机屏幕大小,所以在pc端查看会很丑,布局是乱的;但是重写又很麻烦,所以有必要做一下提醒,让用户手动将网页缩小到手机屏幕大小。
用到
非手机检验和cookie记录
方法
这段代码是使用了cookie来控制的
判断非手机登陆方式
1 | if (!/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) |
1 | <script type="text/javascript"> |
学习nodejs有一段时间了,基本的概念已经有了大概的了解。《Node.js开发指南》进行到第五章-使用Nodejs进行web开发,实现一个微博系统。
前面看书一直断断续续,前段时间只能晚上在宿舍看一会,没有系统性,虽然勉强看完了前面四章节的基础知识,但还不能说会了。希望通过这个小系统的练习,对nodejs有更深入的理解。
微博系统主要功能
1.路由控制
2.页面模板
3.数据库访问
4.用户注册
5.登陆
6.用户会话
主要技术点:
more >>1.Express框架
2.MVC设计模式
3.ejs模板引擎
4.MongoDB数据库
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia-plus根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true