最近在学习有关 AJAX 的知识,上网查阅了一些有关 AJAX 的资料,主要是有关 AJAX的技术简介及其优缺点等。在这里,我想对我收集的资料做一些小小的总结,大部分资料都来自网上,本人在此只做分类总结,希望对和我一样正在学习 AJAX 的朋友有一定的帮助。
AJAX,即Asynchronous Javascript And XML,可实现无刷新状态更新页面和异步提交
优点:
不需要插件支持
用户体验极佳
提升Web程序性能
减轻服务器和宽带的负担
缺点:
前进后退按钮被破坏
搜索引擎的支持不够
开发调试工具缺乏
同步和异步
同步:也就是必须一件一件事做,等前一件做完了才能做下一件事
异步:不需要等到前一件事做完,可多事同做
JQuery对AJAX进行了三层封装
最底层:封装了基础Ajax一些操作;
全局方法:$.ajax()
提交的数据在data中,用post方式提交,提交数据须用"{}"包裹,以"key:value"的形式提交
提交整个表单时,可使用表单序列化"serialize()",提交整个表单
decodeURIComponent():解序列化的数据
encodeURIComponent():将数据序列化,serialize()也是调用此方法进行序列化
serializeArray():表单转化为json形式
$.ajaxSetup():初始化$.ajax()的数据,用于设定$.ajax()对象的默认值
第二层:封装了jQuery的Ajax;
局部方法:.load(url,data,callback)
比较适合静态文件的异步获取
全局方法:$.get(url,data,callback,type),$.post(url,data,callback,type)
可使用与动态文件异步获取
第三层:封装了get;
全局方法:$.getJSON,$.getScript
加载请求
$(document).ajaxStart(function):请求开始时,触发的方法
$(document).ajaxStop(function):请求结束时,触发的方法
JSON和JSONP
当dataType为JSON时,无法跨域获取数据,要在添加域名后面添加"?callback="才能实现跨域名调用数据。当dataType为JSONP时,可直接实现跨域获取数据。
JQXHR对象
jQuery jqXHR对象的属性和方法
以上所述就是本文的全部内容了,希望大家能够喜欢。 |