ajax的机制,js的ajax怎么写

JavaScript013

ajax的机制,js的ajax怎么写,第1张

XMLHttpRequest这个对象的属性有:

onreadystatechange 每次状态改变所触发事件的事件处理程序;

responseText 从服务器进程返回数据的字符串形式;

responseXML 从服务器进程返回的DOM兼容的文档数据对象;

status 从服务器返回的数字代码,常见的200(客户端请求成功,已就绪)和404(请求资源不存在)

statusText 伴随状态码的字符串信息 (eg:200 OK)

readyState 对象状态值

0(未初始化状态)对象已建立或已被abort()方法重置,尚未调用open方法。

1(初始化状态)open()方法已经调用,但是send()方法为调用。请求还没有被发送。

2(发送数据)send()方法法以调用,HTTP请求已发送到Web服务器。未接收到响应。

<script type="text/javascript">  

    //请求函数  

    function f1(){  

        console.log('start')  

        //1.创建AJAX对象  

        var ajax = new XMLHttpRequest()  

          

        //4.给AJAX设置事件(这里最多感知4[1-4]个状态)  

        ajax.onreadystatechange = function(){  

            //5.获取响应  

            //responseText      以字符串的形式接收服务器返回的信息  

            //console.log(ajax.readyState)  

            if(ajax.readyState == 4 && ajax.status == 200){  

                var msg = ajax.responseText  

                console.log(msg)  

                //alert(msg)  

                var divtag = document.getElementById('result')  

                divtag.innerHTML = msg  

            }  

        }  

          

        //2.创建http请求,并设置请求地址  

        var username = document.getElementsByTagName('input')[0].value  

        var email = document.getElementsByTagName('input')[1].value  

        username = encodeURIComponent(username)    //对输入的特殊符号(&,=等)进行编码  

        email = encodeURIComponent(email)  

        ajax.open('get','response.php?username='+username+'&email='+email)  

          

        //3.发送请求(get--null    post--数据)  

        ajax.send(null)  

    }  

      

</script>