即 Asynchronous Javascript And XML,AJAX不是一门的新的语言,而是对现有技术的综合利用。
本质是在HTTP协议的基础上以异步的方式与服务器进行通信。
现实生活中的一个例子
打电话是同步 发消息是异步
XMLHttpRequest可以以异步方式的处理程序。
XMLHttpRequest
js原生ajax: ..............................
jQuery中的Ajax
jQuery为我们提供了更强大的Ajax封装
Jquery对象.load ( url, params , function ( 数据) { } );
★:$.get ( url , params , function( data ) { } , type ) ;
发送get请求的ajax
url:请求的路径
params:请求的参数 参数为key\value的形式key=value {"":"","":""}
data:回调函数 参数就是服务器发送回来的数据
type:返回内容格式,xml,html, script, json, text, _default。 以后用"json"
★:$.post ( url , params , function ( 数据 ) { } , type );
发送post请求的ajax
若结果为json格式, 打印返回值的时候是一个对象
例如若json为{"result":"success","msg":"成功"}
获取msg只需要 参数.msg
理解:
$.ajax([选项]);
选项的可选值:
url:请求路径
type:请求方法
data:发送到服务器的数据
success:fn成功以后的回调
error:fn异常之后的回调
dataType:返回内容格式 经常使用json
async:设置是否是异步请求
例如:
$.ajax({
url:"/day15/demo1",
type:"post",
data:"username=tom",
success:function(d){
alert(d.msg);
},
error:function(){},
dataType:"json"
});
* 客户端获得json格式字符串后,转换为javascript对象 -------eval("("+jsonstr+")");
XML结果数据生成
$.ajax({}) 可配置方式发起Ajax请求
$.get() 以GET方式发起Ajax请求
$.post() 以POST方式发起Ajax请求
$('form').serialize()序列化表单(即格式化key=val&key=val)
url 接口地址
type 请求方式
timeout 请求超时
dataType 服务器返回格式
data 发送请求数据
beforeSend:function () {} 请求发起前调用
success 成功响应后调用
error 错误响应时调用
complete 响应完成时调用(包括成功和失败)