ajax.html初始剖析

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <input id='btn' type="button" value="提交">
    <ul id="ulIndex"></ul>
    <!-- ajax
    1.浏览器
    2.ajax对象  
    3.ajax.open(method,url,true) 初始化参数  发送方式  发送地址 同步还是异步
    4.ajax.send();发送请求
    5.onreadystatechange   监听数据 返回状态信息在链路上的
        0:信息未发送出去 
        1:信息发送出去 已经调用send()方法  正在发送请求
        2: 已经读取,send()方法执行完成,接收到全部响应内容
        3:交互中,正在解析请求内容
        4:完成,响应内容解析完成
        6.status==200 403 503   服务器返回的信息状态码 -->

    <script>
        btn.onclick = function () {
            ajaxFun(showList);//传入回掉函数 
        }
        function ajaxFun(callBack, method) {
            var xhl = null;
            if (window.XMLHttpRequest) {
                xhr = new XMLHttpRequest();//创建ajax对象
            } else {
                xhl = new ActiveXObject('Microsoft.XMLHttp');
            }
            if (method == 'get') {
                xhl.open('get','../getNew.php?username=aimee&age=18',true);
                xhl.send();

            } else if (method == 'post') {
                xhl.open('post', '../postNews.php', true);
                xhl.setRequestHeader('Content-type', 'application/x-www-form-urlencode');//post数据文本内容的编码格式

                xhl.send("username=aimee&age=18");//发送出去的数据
            }

            xhl.onreadystatechange = function () {//监听
                //每次状态的变化都会触发onreadystatechange()函数
                if (xhr.readyState == 4) {//返回成功
                    if (xhr.status == 200) {//信息正确
                        var data = (JSON.parse(xhl.responseText));//将服务器返回的信息responseText由字符串转换为JSON对象
                        callBack(data);//渲染服务器返回数据,将其显示到页面中,写成回掉调函数的形式方便被扩展调用
                    }
                }
            }
        }
        //JSON格式
        //   var data=[
        //       {},
        //       {},
        //       {},
        //   ]
        function showList(data) {
            var str = '';
            data.forEach(function (ele, index) {
                str += '<li>' + ele.title + '-' + ele.date + '</li>'
            })
            ulIndex.innerHtml = str;
        }


    </script>
</body>

</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值