通过原生js完成ajax请求

首先要知道,ajax的核心是>>>XMLHttpRequest对象;

XMLHttpRequest对象有许多方法,最有用的当属open方法,它用于指定服务器上将要访问的文件,

例如:open("GET", "test.txt", true );

指定了请求目标后,就可以用send方法发送请求啦;

下面看一个实例:

<body>
    <button>点我发送一次ajax请求</button>
    <div>
        <p id="target">这里显示返回的数据</p>
    </div>
    <script>
        var targetDom = document.getElementById('target');
        //定义利用ajax技术获取服务端数据的函数
        function getNewContent() {
            // 首先要创建一个XMLHttpRequest对象
            var request = new XMLHttpRequest();
            // 如果浏览器支持XMLHttpRequest对象,则。。。
            if (request) {
                request.open("GET", "data/test.json", true);
                request.onreadystatechange = function () {
                    if (request.readyState == 4){
                        var backData = JSON.parse(request.response)[0].name;
                        console.log(JSON.parse(request.response));
                        targetDom.innerText = backData;
                    }
                };
                request.send(null);
            }else {  // 如果浏览器不支持XMLHttpRequest对象,则。。。
                alert("抱歉,你的浏览器不支持XMLHttpRequest!!!")
            }
        }
        //添加点击事件,发送请求
        var buttonObj = document.getElementsByTagName('button')[0];
        buttonObj.onclick = function () {
            getNewContent();
        }
    </script>
</body>

服务器在向XMLHttpRequest对象发回响应时,浏览器会在不同阶段更新  readyState  属性的值,如下:

0:表示未初始化;

1:表示正在加载;

2:表示加载完毕;

3;表示正在交互;

4:表示完成;

只要值变为4,则表示可以访问服务器发送回来的数据啦!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值