ajax(一) 初识ajax
Ajax:一种不用刷新整个页面便可与服务器通讯的办法。 发送请求:onreadystatechange 1)该事件处理函数由服务器触发,而不是用户。 2)在ajax执行过程中,服务器会通知客户端当前的通信状态。这依靠更新XMLHttpRequest对象的readyState来实现。改变readyState属性是服务器对客户端连接操作的一种方式。每次readyState属性的改变都会触发readystatechange事件。 接收响应: 1、readyState 1)readyState属性表示ajax请求的当前状态,有5个值,分别表示: 0代表未初始化,还没有调用open方法。 1代表正在加载,open方法已被调用,但send方法还没有被调用。 2代表已加载完毕,send已被调用,请求已经开始。 3代表交互中,服务器正在发送响应。 4代表完成,响应发送完毕。 2)每次readyState值的改变,都会触发onreadystatechange事件。如果把onreadystatechange事件处理函数赋给一个函数,那么每次readyState值的改变都会引发该函数的执行。 3)readyState值的变化会因浏览器的不同而有所差异。但是,当请求结束的时候,每个浏览器都会把readyState的值统一设为4。 2、Status 1)常用状态码及其含义: 404没找到页面 403禁止访问 500内部服务器出错 200一切正常 304没有被修改 在XMLHttpRequest对象中,服务器发送的状态码都保存在status属性里。通过把这个值和200或304比较,可以确保服务器是否已发送了一个成功的响应。 【例1】使用XMLHttpRequest实现Ajax:写一个链接HelloAjax,运用ajax实现不刷新页面,打印出链接内txt文档里的HelloAjax!!! 咱们先不用ajax看看效果,代码如下: index.jsp: helloAjax.txt里就写了一句话:HelloAjax!!! 当我们运行系统后,点击链接就跳转到了helloAjax.txt页面,显示了HelloAjax!!!,如图: 现在采用ajax的GET提交方式来实现,代码如下: 运行效果如下图: 下面采用POST方式提交,注意POST方式提交时要设置setRequestHeader的Content-Type的值为application/x-www-form-urlencoded。 实现代码如下: 我们在POST提交时传入值name=123,运行效果如下图: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |