Ajax学习

什么是Ajax?

Asynchronous JavaScript and XML(异步JavaScript和XML)

说白了就是用javascript异步形式去操作xml(数据交互)

—节省用户操作,时间,提高用户体验,减少数据请求。

—传输获取数据

使用AJax

使用ajax获取某一文本文件的内容

Ajax过程详解

一、创建一个ajax对象

ie6以下new ActiveXObject('Microsoft.XMLHTTP')

二、open方法

参数

1、打开方式

2、地址

3、是否异步

异步:非阻塞 前面的代码不好影响后面的代码的执行

同步:阻塞 前面的代码会影响后面代码的执行

三、提交,发送请求

四、等待服务器返回内容

请求状态监控

—onreadystatechange事件

readyState属性:请求状态

—0(初始化)还没有调用oepn()方法

—1(载入)已调用send()方法,正在发送请求

—2(载入完成)send()方法完成,已收到全部相应内容

—3(解析)正在解析响应内容

—4(完成)响应内容解析完成,可以在客户端调用了

status属性:服务器(请求资源)的状态

返回的内容:

—responseText:返回以文本形式存放

—responseXML:返回XML形式的内容

关于get方式:

—缓存问题:

缓存在url?后面连接一个随机数,时间戳。

例如:xhr.open('get','2.get.php?username=leo&age=30&'+new Date().getTime(),true)

—乱码问题:

编码encodeURI

例如:xhr.open('get','2.get.php?username='+encodeURI('刘伟')+'&age=30&'+new Date().getTime(),true)

关于post方式:

数据放在send()里面作为参数传递

xhr.open('post','2.post.php',true);

//告诉后端发送的数据类型

xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');

xhr.send('username=leo&age=30');

post没有缓存问题

无需编码


跨域解决之JSONP

跨域的问题:

域:域名;

跨域请求(访问):一个域名下的文件请求另一个域名下的资源,就产生了跨域。

跨域的解决:Jsonp—json padding


一个完整的HTTP请求,通常有下面7个步骤:

1、建立TCP连接

2、Web浏览器向Web服务器发送请求命令

3、Web浏览器发送请求头信息

4、Web服务器应答

5、Web服务器发送应答头信息

6、Web服务器向浏览器发送数据

7、Web服务器应答关闭TCP连接

先说HTTP请求,

一个HTTP请求一般由四部分组成

1、HTTP请求的方法或动作,比如是GET还是POST请求

2、正在请求的URL,总得知道请求的地址是什么吧

3、请求头,包含一些客户端环境信息,身份验证信息等

4、请求体,也就是请求正文,请求正文中可以包含客户提交的查询字符串信息,表单信息等等


GET:一般用于信息获取

使用URL传递参数,对所发送信息的数量也有限制,一般在2000个字符

POST:一般用于修改服务器上的资源,对所发送信息的数量无限制


一个HTTP响应一般由三部分组成:

1、一个数字和文字组成的状态码,用来显示请求是成功还是失败

2、响应头,响应头也和请求头一样包含许多有用的信息,例如服务器类型,日期时间,内容类型和长度等

3、响应体,也就是响应正文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值