AJAX:Asynchronous JavaScript and XML (异步的 JavaScript 和 XML)
Ajax 不是某种编程语言,是一种在无需重新加载整个网页的情况下能够更新部分网页的技术。
- html和css实现页面
- XMLHttpRequest和web服务器进行数据异步交换
- js操作DOM,实现动态局部刷新
http是一种无状态协议,不保持持久连接,在需要时请求,处理,响应,载入。
http请求的过程:
- 建立TCP连接
- 浏览器向服务器发送请求命令
- 浏览器发送请求头信息
- 服务器应答
- 服务器发送应答头信息
- 服务器向浏览器发送数据
- 服务器关闭TCP连接
HTTP请求:
- HTTP请求方法或动作,GET,POST
- 请求的URL
- 请求头,客户端环境信息,身份验证信息等
- 请求体,请求正文,表单等
GET:信息获取,使用URL传递参数(不安全),信息数量限制2000个字符。
POST:修改服务器上的资源,无数量限制。
HTTP响应:
- 状态码:数组,文字
- 响应头
- 响应体
XMLHttpRequest发送请求:
- open(method,url,async)
- send(string)
XMLHttpRequest取得响应:
- responseText:获取字符串形式的响应数据
- responseXML:获取XML形式的响应数据
- status和status TEXT:返回HTTP状态码
- getAllResponseHeader:获取所有响应报头
- getResponseHeader:查询响应中某个字段的值
一般可判断readyState属性,然后处理操作
- 0:请求未初始化,open未调用
- 1:服务器连接建立,open已调用
- 2:请求已接收,收到头信息
- 3:请求处理中,收到响应主体
- 4:请求已完成,响应就绪
jQuery实现Ajax:
$.ajax({
type:POST或GET
url:发送请求的地址
data:是一个对象,连同请求发送到服务器的数据
datatype:服务器返回的数据类型
success:方法,请求成功回调
error:方法,请求失败回调
})
JSON:JavaScript对象表示法,键值对方式存储数据。
解析:eval:不检测json合法性,直接执行js方法,很危险
一般使用parse方法。
http:// www . abc.com:8080/index.js
协议 子域名/主域名/ 端口号/请求资源地址
跨域:js同源策略,不允许调用其他页面的对象。
- 代理:
- jsonp:利用 script 元素的开放策略,网页可以得到从其他来源动态产生的 JSON ,只能用于GET方法,不能POST
- HTML5-XHR2(XMLHttpRequest Level2)