AJAX 是一种与服务器交换数据的技术,可以在不重新载入整个页面的情况下更新网页的一部分。
//默认请求参数 var _options = { url: null, // 请求连接地址 type: 'GET', // 请求类型(get,post) data: null, // post时请求体 dataType: 'text', // 返回请求的类型,有text/json/jsonp (一般都是json) jsonp用于跨域,只能是get方式 jsonp: 'callback', // jsonp请求的标志,一般不改动 (传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名) jsonpCallback: 'jsonpCallback', //jsonp请求的函数名 async: true, // 是否异步 true表示异步 false表示同步 cache: true, // 是否缓存 timeout:null, // 设置请求超时 数字,,,如果服务器响应时间超过了 设置的时间,则进入 ERROR (错误处理) contentType: 'application/x-www-form-urlencoded', beforeSend: null, //发送之前的函数回调,可以进行一下数据发送给后台的时候的操作 success: null, // 请求成功回调函数 global: false,// 禁用全局Ajax事件 error: null, // 请求失败回调 complete:null, //请求完成后回调函数 (请求成功或失败时均调用)。参数:XMLHttpRequest 对象,成功信息字符串。
headers:{} //请求头 }
url(string):用于请求数据的地址
type(string):get或者post方式,
get方式会将前端上送的数据暴露出来(数据会直接跟地址连接起来,只能传输的数据大小:1024,注意这个限制是浏览器或者服务器生成的),不安全,所以一般用于查询操作(不会威胁数据库数据),get有缓存问题,会被浏览器缓存起来,数据安全问题严重
post方式不会将数据暴露出来,比较比较安全,一般用于,新增,删除,修改等操作。传输数据大小:2M;
data:请求数据,
dataType:请求返回的类型,txt/json/jsonp ,jsonp表示要进行跨域
jsonp:回调函数的函数名,,,,只有设置dataType:jsonp了这个属性才起作用
async:同步异步标志 默认是true异步,,,同步的话,会阻塞程序的运行,请求完成之后才能继续运行脚本代码,异步的话,请求的过程不会阻塞代码运行。
cache:默认是 true,表示是否需要缓存,如果是true的话,发送相同请求的话,第二次会从缓存数据中取
timeout(Number类型):设置超时时间,如果服务器响应时间超过了 设置的时间,则进入 ERROR (错误处理)
contentType:“application/x-www-form-urlencoded”, 这个是为了post设置的。
global:false 禁止全局ajax设置
header:设置请求头的信息,,,一般我们需要加入版本信息,浏览器信息,语言,时间,都要加到这里
beforeSend:回调函数,用于,XML进行send()方法之前,,可以进行一下,数据的再添加,确认界面,等
success:成功的回调函数,参数:服务器返回数据,返回状态
error:失败的回调函数,参数:XMLHttpRequest 对象,错误信息,(可能)捕获的错误对象。
complete:请求数据完成之后的回调,失败或者成功都会进入这里,,,但是函数调用的顺序是 succexx-error-complete
附:JQ ajax各个事件的执行顺序
1.ajaxStart(全局事件)
2.beforeSend
3.ajaxSend(全局事件)
4.success
5.ajaxSuccess(全局事件)
6.error
7.ajaxError (全局事件)
8.complete
9.ajaxComplete(全局事件)
10.ajaxStop(全局事件)