1、封装第一层 - 类似于原生Ajax的用法
$.ajax() - 最复杂
选项
url - 请求地址
type - 请求类型,默认为GET
async - 是否异步,默认为true
data - 请求数据,格式为key:value
dataType - 响应数据格式
HTML格式
XML格式
JSON格式
success - 请求成功后的回调函数
function(data,textStatus){}
data - 响应数据内容
textStatus - success,请求状态
error - 请求失败后的回调函数
function(XMLHttpRequest,textStatus,errorThrown){}
XMLHttpRequest - Ajax的核心对象
textStatus - 请求状态
error、timeout及notmodified等
errorThrown - 错误异常信息
2、封装第二层 - 基于第一层再次封装
$().load(url,data,callback) - 最简单、局限性最大
参数
url - 设置当前Ajax的请求地址
data - 设置当前Ajax的请求数据
格式要求为key:value,构建Object即可
callback - Ajax请求成功后的回调函数
该回调函数的形参(data),表示服务器端响应的数据内容
问题:
请求类型由是否发送请求数据决定,没有发送请求数据时,请求类型为GET,如果发送请求数据时,请求类型为POST,默 认接收服务器端的数据内容是以字符串类型(HTML格式)进行接收无法使用XML格式或JSON格式
$.get(url,data,callback,type) - 请求类型是GET
参数
url - 设置当前Ajax的请求地址
data - 设置当前Ajax的请求数据
格式要求为key:value,构建Object即可
callback - Ajax请求成功后的回调函数
该回调函数的形参(data),表示服务器端响应的数据内容
type - 设置服务器端响应数据的格式
默认值 - HTML格式
xml - XML格式
json - JSON格式
$.post() - 请求类型是POST
使用方式与$.get()方法一致
3、封装第三层 - 特殊用法
$.getScript(url,callback) - 动态读取脚本(JavaScript代码)
url - 读取脚本的地址(本地或服务器)
callback - 读取成功后的回调函数
$.getJSON() - 接收JSON格式数据
4、表单的Ajax异步请求
表单的序列化
serialize()方法
返回JSON字符串
格式 - {key:value,key:value,..}
serializeArray()方法
返回JSON对象
格式 - [obj1,obj2,obj3,...]
注意
表单元素必须具有name属性值
jQuery.form插件
作用 - 实现表单的异步提交
两个核心方法
ajaxForm()方法
ajaxSubmit()方法 - 使用Ajax异步提交表单
底层机制
表单提交机制
表单异步提交的方式
不再使用submit按钮,而是使用button按钮
通过为button按钮绑定click事件
表单的序列化
表单的异步提交
(常用)依旧使用submit按钮
在