AJAX

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="test.js"></script>


    <script type="text/javascript">
        //当页面加载完毕之后,执行以下代码
        window.onload = function(){
            document.getElementById("ok").onclick = function(){
                /*
                 * 1 创建XMLHttpRequest对象
                 */
                var xhr = ajaxFunction();


                /*
                 * 2 服务器向浏览器响应请求
                 *
                 * readyState 属性表示Ajax请求的当前状态。它的值用数字代表。
                 0 代表未初始化。 还没有调用 open 方法
                 1 代表正在加载。 open 方法已被调用,但 send 方法还没有被调用
                 2 代表已加载完毕。send 已被调用。请求已经开始
                 3 代表交互中。服务器正在发送响应
                 4 代表完成。响应发送完毕


                 常用状态码及其含义:
                 404 没找到页面(not found)
                 403 禁止访问(forbidden)
                 500 内部服务器出错(internal service error)
                 200 一切正常(ok)
                 304 没有被修改(not modified)(服务器返回304状态,表示源文件没有被修改 )
                 */
                xhr.onreadystatechange = function(){
                    alert(xhr.readyState);
                    //alert(xhr.status);
                    if(xhr.readyState==4){
                        var data = xhr.responseText;
                        alert(data);
                        alert("xhr.status:"+xhr.status);
                        if(xhr.status==200||xhr.status==304){
                            var data = xhr.responseText;
                            alert(data);
                        }
                    }
                }


                /*
                 * 3 浏览器与服务器建立连接
                 *
                 * xhr.open(method, url, asynch);
                 * * 与服务器建立连接使用
                 * * method:请求类型,类似 “GET”或”POST”的字符串。
                 * * url:路径字符串,指向你所请求的服务器上的那个文件。请求路径
                 * * asynch:表示请求是否要异步传输,默认值为true(异步)。
                 */




                /*  xhr.open("POST","../testServlet?timeStamp="+new Date().getTime()+"&c=18",true);
                 //如果是POST请求方式,设置请求首部信息
                 xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");


                 */


                xhr.open("GET","http://192.168.1.187:8080/RequestAndResponse/testServlet?timeStamp="+new Date().getTime()+"&c=18",true);


                /*
                 * 4 浏览器向服务器发送请求
                 *
                 * send()方法:
                 * * 如果浏览器请求的类型为GET类型时,通过send()方法发送请求数据,服务器接收不到
                 * * 如果浏览器请求的类型为POST类型时,通过send()方法发送请求数据,服务器可以接收
                 */
                xhr.send("a=6&b=9"); //xhr.send(null);
            }
        }


        function ajaxFunction(){
            var xmlHttp;
            try{ // Firefox, Opera 8.0+, Safari
                xmlHttp=new XMLHttpRequest();
            }
            catch (e){
                try{// Internet Explorer
                    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
                }
                catch (e){
                    try{
                        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                    }
                    catch (e){}
                }
            }


            return xmlHttp;
        }


    </script>
</head>
<body>
    <form action="" enctype="application/x-www-form-urlencoded">
        <input type="button" name="ok" id="ok" value="测试服务器连接">
    </form>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值