编程开发 > JAVA > 文章内容

java基础知识总结(174)

2016-9-28编辑:ljnbset

1、ajax是什么?(asynchronous javascript and xml)

         异步的javascript和xml。

     在传统(没有使用ajax技术)的web应用当中,当用户点击提交按钮,提交了某个页面,此时,浏览器会将表单中的数据打包之后发送给服务器,同时,浏览器会将整个页面销毁。用户只能等待服务器返回一个新的页面,不能做其它任何事情。为了解决传统的web应用当中的"等待-响应-等待“的弊端,需要浏览器可以通过异步的方式向服务器发请求。ajax技术可以让浏览器异步地向服务器发请求:其本质是通过浏览器内置的一个对象(XmlHttpRequest)异步地向服务器发请求(发送请求的同时,浏览器不会销毁之前的页面,此时,用户仍然可以对之前的页面做其它的操作,也就是说,不打断用户的操作)。服务器返回一些数据(不是一个新的页面,是部分的数据)给XmlHttpRequest对象,接下来,通过dom操作(需要使用服务器返回的数据,可以通过 XmlHttpRequest对象获得),来更新页面。整个过程,页面无刷新。

2、ajax编程

         1) XmlHttpRequest对象:

                   a,如何获得XmlHttpRequet对象

                            因为XmlHttpRequest没有标准化,所以

                   要区分浏览器来获得该对象。

                            function getXhr(){

                                     var xhr = null;

                                     if(window.XMLHttpRequest){

                                               //非ie浏览器

                                               xhr = new XMLHttpRequest();

                                     }else{

                                               //ie浏览器

                                               xhr = new ActiveXObject("Microsoft.XMLhttp");

                                     }

                                     return xhr;

                            }

                   b,常用的属性

                            onreadystatechange:注册监听器(即给XmlHttpRequest对象绑订事件处理代码)。

                            responseText:获得服务器返回的文本数据。

                            responseXML:获得服务器返回的xml数据。

                            status:获得状态码

                            readyState:XmlHttpRequest对象与服务器通讯

                            过程当中的状态,其值是一个整数(0,1,2,3,4),

                            比如当值为4时,表示该对象已经接收到了

                            服务器返回的所有数据。

         2)编程步骤:

                   step1 获得XmlHttpRequest对象

                            var xhr = getXhr();

                   step2 发送请求

                            a,发送get请求

                                     //open方法有三个参数:

                                     //第一个参数:请求方式 get,post

                                     //第二个参数:请求地址,如果是get请求,请求

                                     //参数要加在请求地址后面。

                                     //第三个参数:true表示异步请求,false同步请求。

                                     xhr.open('get','check_name.do?name=zs',true);

                                     //注册一个监听器

                                     xhr.onreadystatechange=f1;

                                     xhr.send(null);

                            b,发送post请求

                                     xhr.open('post');

                                     ...

                   step3 服务器端编写处理请求的代码

                   step4 在监听器当中,处理服务器返回的数据,

                   一般是通过XmlHttpRequest获得数据之后,更

                   新页面。

                                     function f1(){

                                               //只有状态为4时,才能正确地接收服务器

                                               //返回的数据

                                               if(xhr.readyState == 4){

                                                        //获得服务器返回的文本数据

                                                        var txt = xhr.responseText;

                                                        //通过dom,更新页面

java基础知识总结(173)

热点推荐

登录注册
触屏版电脑版网站地图