Ajax-创建ajax

时间:2021-09-07 05:51:51
  UNSENT : 未发送,刚开始创建完成AJAX对象,默认的状态就是0
OPENED : 已打开,执行了xhr.open之后状态变为1
HEADERS_RECEIVED :响应头信息已经成功的返回并且被接收
LOADING : 响应主体内容正在加载
DONE :响应主体内容接收成功
xhr.status : 服务器返回的HTTP网络状态码
: 请求成功
【 开头的都是成功但是有转折】
: 永久重定向(永久转移) 例如:访问京东以前的域名www.360buy.com;
在控制台network里,可以看到301,域名更换的时候我们基本上都会做301做永久的重定向;
: 临时重定向(临时转移) --> (临时重定向) ;例如:一台服务器最高并发数在500左右,当501个人过来的时候,当前服务器不能有效的进行处理了,此时我们需要把此客户端的请求临时转移到另外一台服务器上进行处理;
: 读取的是缓存的数据,在真实的项目中,产品一旦上线,资源图片、JS、CSS等内容是不轻易改变的,此时我们最好做一下304缓存:第一次向服务器发送请求来访问的时候,把加载完成的资源文件进行缓存,第二次直接读取缓存中的数据即可,减少服务器压力;
【4开头的一般都是客户端的错误】
请求参数有误
请求的权限不够
请求的地址不存在
【服务器端的错误】
未知的服务器端错误 (停电,着火,服务器爆炸等等不可预知错误....)
服务器超负荷 (春运抢票的时候你一定会看到这个状态) $.ajax({
url: 'temp.json',
method: 'get',
//->type:'get' 和这个属性是一样的功能的,除了写get还可以写post、head、delete、put...
dataType: 'json',
//->预设服务器返回的数据内容的格式json(默认)、text、xml...
data: null,
//->设置请求主体的内容,如果是GET请气,JQ会把这些内容放到请求地址的末尾,通过问号传参的方式传递给服务器,POST请求才是放在请求主体中
cache: true,
//->是否保留GET请求的缓存,TRUE是保留也就是不清除GET缓存,设置成为FALSE是清除缓存(在URL末尾加随机数),此参数对于POST请求无效
async: true,
//->设置同步异步,默认是TRUE代表异步
//timeout:3000,//->设置请求超时的时间,如果超过3000MS,当前请求自动中断(一般不用)
success: function (result) {
//->当数据请求成功后执行的回调函数,result就是从服务器获取的结果
console.log(result);
},
error: function (msg) {
//->当数据请求失败指定的回调函数,msg就是失败的原因
}
}); // JQ中的参数配置大概在20多个左右,以上只是最常用的几个
/*
* [data]
* get->放在URL末尾
* post->放在请求主体
*
* 字符串->写的是什么传递就是什么
* 对象->会把对象变成 key1=value1&key2=value2... 传递给服务器
*/