ajax的简单介绍,和通过原生的ajax方法获取或传递数据
Ajax概述
1.什么是同步,什么是异步
同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待卡死状态,此时你不能进行网页的其他操作
异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可以随意做其他事情,不会被卡死
Ajax的运行原理
页面发起请求,会将请求发送给浏览器内核中的Ajax引擎,Ajax引擎会提交请求到服务器端,在这段时间里,客户端可以任意进行任意操作,直到服务器端将数据返回给Ajax引擎后,会触发你设置的事件,从而执行自定义的js逻辑代码完成某种页面功能。
简单来说以前我们访问服务器,必须整个页面的方式去访问,然后整个页面跳转刷新,但是当ajax的方式时,可以进行局部操作,局部点击一个按钮出动执行ajax访问服务器,而整体页面不会刷新,你此时还可以操作页面的其它功能
js原生的Ajax技术
js原生的Ajax其实就是围绕浏览器内内置的Ajax引擎对象进行操作的,要使用js原生的Ajax完成异步操作,有如下几个步骤:
1)创建Ajax引擎对象
2)为Ajax引擎对象绑定监听(监听服务器已将数据响应给引擎)
3)绑定提交地址
4)发送请求
5)接受响应数据
这个大概执行的步骤是,第三部为我们要访问的url,url访问成功之后,会运行回掉函数,执行第5步,我们在这个回掉函数内,可以获取服务器所传给客户端的数据,直接xmlHttp.responseText()
写数据,在ajax的第5步可以接受数数据
这样的话alert(res)弹不出内容,原因就是ajax访问数据的时候,xmlhttpRequest存在多个状态码,有些状态码获取不到数据,我们应该判断在请求完成的时候,获取数据
判断两个一个4,一个200,两个都满足的话,访问完成,此时可以获取数据了,可以弹出zhangsan
服务器可以写数据,我们也可以传递数据,在链接后面get提交,服务器正常获取,没有区别
如果是post提交(send的方式提交数据)在发送请求之前设置一个头
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 以上都是js原生的ajax,开发中基本不用,我们更多使用的是jquery封装的ajax,但他的底层设计就是上面的内容,需要了解
相关推荐
结束数据方法的参数,该如何定义?-- 集合为自定义实体类中的结合属性,有几个实体类,改变下标就行了。<input id="add" type="button" value="新增visitor&quo