AJAX介绍
AJAX一门新的语言,是综合HTTP异步通信、js、xml、以及JSON等多种网络技术的一种编程模式。
优缺点:
优点:1.页面局部刷新
2.可以充分利用客服端的闲置的处理能力,减轻服务器和网络传输的负担
缺点:1.破坏浏览器的机制,历史记录机制
前后端通信:
from表单 同步 触发形式只能是一个按钮
ajax 异步 触发形式是任何事件的形式
HTTP协议
**概述:** 超文本传输协议 万维网数据通信的基础 ,一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)
HTTP工作原理
1.首先客户端和服务端建立连接(TCP三次握手)
2.发送http请求
3.服务器接收http请求并返回http响应
4.客户端收到响应后断开连接(TCP四次挥手)
5.客户端浏览器解析HTML的内容
三次握手
• 第一次:客户端发送请求标志①
• 第二次:服务器发送请求标志序号②
• 第三次:客户端发送确认号③,
四次挥手
C客户端,S服务端
. 第一次:C向S请求,C不再发送数据,但是还能接收
. 第二次:S向C响应,S确认收到请求,但是S还有数据要发送
. 第三次:S向C请求,S数据发送完毕,可以关闭了
. 第四次:C向S响应,C确认收到请求,等待超时关闭,S收到响应后立即关闭
AJAX访问的四个步骤
1.必须基于xhr对象,创建xhr对象
2.绑定监听事件
xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){
请求发生完成并且响应不成功
console.log(xhr.responseText)
}
3.建立连接
xhr.open(type,url,true)
type请求方式常用的两种 GET和POST
1.GET请求方式数据是可见的
2.POST请求方式的数据是加密的
4.发送请求
xhr.send()
跨域
同源策略
“同源” : 协议相同,域名相同,端口相同
http://www.baidu.com/dir2/other.html
https://www.baidu.com/dir2/aa.html 不同源(协议)
http://www.baidu.cn/dir2/aa.html 不同源(域名)
http://www.baidu.com:8888/dir2/other.html 不同源(端口号)
**
解决方案
**
ajax跨域指的是将ajax请求进行处理,而不是ajax中就已经有跨域的方法。同源策略明确规定ajax请求只能发送给同源的网址,否则就会发生跨域报错。
- 设置服务器响应头 不常用
- 代理
- jsonp