Ajax

13 篇文章 0 订阅
4 篇文章 0 订阅

一:工作原理

相当于在用户和服务器之间加了一个中间层,使用户操作与服务器响应异步化。通过XmlHttpRequtst对象来向服务器发送异步请求,从服务器获得数据,然后用Javascript来操作DOM从而更新页面。

二:ajax请求的基本步骤

(1):创建一个ajax对象,即XmlHttpRequtst对象。
(2):通过open()方法创建HTTP请求,连接服务器。
(3):send()方法,发送请求。
(4):接受返回数据。

三:经常遇到的问题

1:首先我们需要知道的就是ajax其核心就是javascript,XMLHttpRequest,DOM对象组成。
2:open()具有三个参数,第一个参数传入方法,第二个参数就是url,最后一个参数为异步传输。
3:那么接下来就简单的介绍一下ajax的方法都有哪些。首先我们经常用到的就是get和post,其实ajax还包括head,put,delete,option,connect,tract。这些方法相信大家只要认识这些单词那么它们的意思就不言而喻了。
4:get和post的区别:
get:用于信息获取/查询,安全性低(使用url传参所有人可见),浏览器的长度有限,容量低,使用url或者cookie传参。
post:用于修改服务器上的资源,安全性一般(至少比get的安全性高),容量几乎无限,直接将数据放在body里。

嗯,我相信上面的这几点区别基本上所有的学习过前端的人都会说出来。其实这些只是它们使用上面的区别。那么它们实质上的区别是什么呢?

它们实质上的区别就是get请求是幂等性的,而post请求不是。这也正是为什么get方法不能用于数据的增删改。
那么所谓的幂等性就是指一次和多次请求某一个资源应该具有同样的副作用。简单来说就是意味着你无论对一个url请求多少次它返回的结果都是一样的。
那么显而易见,当用post方法对一个url请求多次时返回的结果是不样的,因为你每请求一次,就会创建一个新的资源。

那么关于更加具体的幂等性的了解,大家可以点击这里

5:怎样判断数据是否成功返回。这就会涉及到XML对象的readystate属性和 state属性了。readystate具体分为下面5步:
0、(未初始化)还没有调用open()方法
1、(载入)已调用send()方法,正在发送请求
2、(载入完成)send()方法完成,已收到全部相应内容
3、(解析)正在解析相应内容
4、(完成)相应内容解析完成,可以在客户端调用了
当readystate == 4时代表请求已经结束。但这是你还不能得到数据,同时必须满足state ==200,你才能真正的取得数据。

关于state ==200 这就又涉及到了http请求状态码的知识。大家可以把我的这篇文章作为参考。在这里我已经给大家整理了几乎所有会用到的状态码!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值