ajax的简单介绍,和通过原生的ajax方法获取或传递数据

Ajax概述

1.什么是同步,什么是异步

同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待卡死状态,此时你不能进行网页的其他操作

异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可以随意做其他事情,不会被卡死

Ajax的运行原理

页面发起请求,会将请求发送给浏览器内核中的Ajax引擎,Ajax引擎会提交请求到服务器端,在这段时间里,客户端可以任意进行任意操作,直到服务器端将数据返回给Ajax引擎后,会触发你设置的事件,从而执行自定义的js逻辑代码完成某种页面功能。

ajax的简单介绍,和通过原生的ajax方法获取或传递数据

简单来说以前我们访问服务器,必须整个页面的方式去访问,然后整个页面跳转刷新,但是当ajax的方式时,可以进行局部操作,局部点击一个按钮出动执行ajax访问服务器,而整体页面不会刷新,你此时还可以操作页面的其它功能

js原生的Ajax技术

js原生的Ajax其实就是围绕浏览器内内置的Ajax引擎对象进行操作的,要使用js原生的Ajax完成异步操作,有如下几个步骤:

1)创建Ajax引擎对象

2)为Ajax引擎对象绑定监听(监听服务器已将数据响应给引擎)

3)绑定提交地址

4)发送请求

5)接受响应数据

ajax的简单介绍,和通过原生的ajax方法获取或传递数据

ajax的简单介绍,和通过原生的ajax方法获取或传递数据

这个大概执行的步骤是,第三部为我们要访问的url,url访问成功之后,会运行回掉函数,执行第5步,我们在这个回掉函数内,可以获取服务器所传给客户端的数据,直接xmlHttp.responseText()

ajax的简单介绍,和通过原生的ajax方法获取或传递数据

写数据,在ajax的第5步可以接受数数据

这样的话alert(res)弹不出内容,原因就是ajax访问数据的时候,xmlhttpRequest存在多个状态码,有些状态码获取不到数据,我们应该判断在请求完成的时候,获取数据

ajax的简单介绍,和通过原生的ajax方法获取或传递数据

ajax的简单介绍,和通过原生的ajax方法获取或传递数据

判断两个一个4,一个200,两个都满足的话,访问完成,此时可以获取数据了,可以弹出zhangsan

ajax的简单介绍,和通过原生的ajax方法获取或传递数据

服务器可以写数据,我们也可以传递数据,在链接后面get提交,服务器正常获取,没有区别

ajax的简单介绍,和通过原生的ajax方法获取或传递数据

如果是post提交(send的方式提交数据)在发送请求之前设置一个头

xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");以上都是js原生的ajax,开发中基本不用,我们更多使用的是jquery封装的ajax,但他的底层设计就是上面的内容,需要了解


分享到:


相關文章: