js之ajax封装

                                                                               js之ajax封装

 了解了之前的网络部分内容之后,那么接下来就对js中前后端交互进行一个学习。之前都说过,由于现在大部分公司都采用这种前后端分离的思想。因为后端把所有的数据都放在一个接口中,我们将里面接口拿来,然后对数据进行操作,最后在页面上将想要的效果展示出来。首先回顾一下之前所说的网络请求过程:通过DNS解析域名将其解析成ip形式,然后客户端发送http请求,通过三次握手的形式给服务器,最后服务器通过四次挥手的形式再传送到客户端。

  

数据的请求过程     method: get post 等请求方式     action,对数据请求作出行为   entype:规定在发送表单数据之前如何对其进行编码,appication/x-www-form-urlencoded在默认情况下,会在发送前编码所有字符    multipart/form-data(<input type = 'file'>)不对编码,在使用包含文件上传控件的表单时,必须使用该值

 ajax:用javascript以异步传送的形式操作XML(现在是json)被称为ajax全称 Asynchronous javascrtpt and xml

ajax请求所必须满足的条件

1. 浏览器 2. ajax对象 3.ajax.open(method ,url ,true),其中第一个参数表示请求方式,常用的方式为get post第二个参数是传送的文件的url,第三个参数表示传送的方式,如果是true就表示异步传送,如果是false表示是同步传送get与post的区别在于,get是获取到数据请求而post是去发送数据数据请求4. ajax.send() 5. onreadystatechange 6.ajax.status == 200,则表示请求数据成功

在上面所展示的代码中是由原生的js封装的ajax请求的方法,在这个封装的函数中,传入了五个参数,具体的含义在代码注释中有。在这里主要介绍下为什么要这样封装,首先是创建一个ajax对象,在ie浏览器中创建ajax的方式是不同的,因此在这里使用xhr来接收这个ajax对象。接着就是对请求方式的处理,首先将接收到的method传入方式全部转成大写。然后对请求方式进行get与post的不同方式的处理。如果是post方式会发送请求头,在send()方法中发送数据,而在get中是在open方法中传送data数据。最后就是对状态进行判定当确定传入成功后就调用这个回调函数,并将获取到的信息传入到这个回调函数当中。

下面是一个调用ajax的实例方法,用作测试此方法:

下面是请求的文件,在这里手写了一个php文件,文件内容如下:

下面就可以对封装号的方法进行调试,以上就是关于ajax的原生js的封装函数。

猜你喜欢

转载自blog.csdn.net/care_yourself/article/details/99896635
今日推荐