ajax(异步的 JavaScript 和 XML):一种局部刷新技术。通过在后台与服务器进行少量数据交换,实现异步更新,
原生ajax
XMLHTTPRequest是ajax的核心对象,
通过ajax发送的请求type类型是“”,而 html访问时type类型是“”
常用方法:
open(method,url,async) 规定请求的类型、URL 以及是否异步处理请求。
method:请求的类型;GET 或 POST
url:文件在服务器上的位置
async:true(异步)或 false(同步)
响应:
responseText 获得字符串形式的响应数据
responseXML 获得 XML 形式的响应数据
常用属性:
onreadystatechange:检测readyState状态改变的时候
readyState:ajax核心对象的状态
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪 (使用的是这个状态)
status:状态码:200: “OK”、404: 未找到页面
if(xmlhttp.readyState4 && xmlhttp.status200){
}
responseText:响应回来的文本
jquery中的ajax:
jquery对象.load(url,params,function(数据){});
发送get请求的ajax
$.get(url,params,function(数据){},type);
url:请求的路径
params:请求的参数 参数为key\value的形式 key=value {"":"","":""}
fn:回调函数 参数就是服务器发送回来的数据
type:返回内容格式,xml, html, script, json, text, _default。
大部分时候用"json"
发送post请求的ajax
$.post(url,params,function(数据){},type);
若结果为json格式, 打印返回值的时候是一个对象
例如若json为 {"result":"success","msg":"成功"}
获取msg 只需要 参数.msg
发送post/get的请求
$.ajax({选项});
选项的可选值:
url:请求路径
type:请求方法
data:发送到服务器的数据
success:fn 成功以后的回调
error:fn 异常之后的回调
dataType:返回内容格式 经常使用json
async:设置是否是异步请求
......
JSON数据类型
JSON(JavaScript 对象表示法):一种数据交换的格式,简单说就是javascript中的对象和数组。
对象:以键值对的形式出现,对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:[key:value,key:value],…}的键值对的结构。
数组:在js中是中括号“[]”括起来的内容,数据结构为 [“java”,“javascript”,“vb”,…]。
JSONP
JSONP:非官方跨域数据交互协议。也就是信息传递时双方约定的方法。
同源策略:不能访问跨域资源,凡是发送请求url的协议、域名、端口三者之间任意一个与当前页面地址不同即为跨域。