AJAX实例:留言板、瀑布流
瀑布流项目开发
- 瀑布流实现原理分析
- 浮动与定位、优缺点
- 数据格式分析
- 页面数据填充
- 判断数据加载时机
留言本实战开发
- 用户名验证
- 用户注册
- 用户登陆
- 留言
- 顶功能
- 踩功能
- 留言数据获取
- 留言列表展现(瀑布流的形式)
瀑布流布局原理
固定列数和非固定列数
- 统一宽不统一高(每列宽度相同高度不同)
- 数据不是一次性加载的,而是分批加载的(第一批显示多少条,满足一定条件时,开始第二批第三批等的加载)
固定列(例:蘑菇街) - 列数固定
- 浮动布局
非固定列(例:百度图片) - 列数会根据当前可视区的宽度动态计算
- 首先定义好每一列的宽度,再用可视区的宽度除以每一列的宽度得出当前显示的最大列数,根据列数进行定位
- 定位布局
数据的分析及添加
流的实现
示例:点击查看
留言本初始配置工作
留言本验证用户名
留言本注册及状态处理
留言内容的添加和显示
留言本数据列表的处理
留言本类瀑布流效果
AJAX跨域解决方案:JSONP
跨域的问题
域:域名
跨域请求(访问):一个域名下的文件请求另外一个域名下的资源,就产生了跨域
跨域的解决
Jsonp: json padding
问题回顾及跨域限制问题
跨域:跨域名
一个域名下的文件去请求了和他不一样的域名下的资源文件,那么就会产生跨域请求
AJAX跨域请求限制
跨域的解决
1.flash
2.通过服务端中转,通过服务端的代码进行代理
3.JSONP (JSON with Padding)
原理
1.script标签
2.用script标签加载资源是没有跨域问题的
3.计算机中文件类型并不是根据文件后缀名来区分的,而是根据文件中的实质内容定的。后缀名是给人看的或者给某些软件辨识的,右键会自动关联相应的文件类型
在资源加载进来之前定义好一个函数,这个函数接收一个参数(数据),函数里面利用这个参数做一些事情;然后需要的时候通过script标签加载对应远程文件资源,当远程的文件资源被加载进来的时候,就会去执行前面定义好的函数,并且把数据当作这个函数的参数传入进去
过程的实现
1 | <input type="button" type="按钮" id="btn1"> |
百度下拉提示实例
1 | <style> |
【示例:点击查看】
豆瓣搜索实例
练习:分页
【示例:点击查看】