不知道为什么点击按钮不显示内容

代码问题,不知道为什么点击按钮不显示内容,刚学ajax,请大家指点一下。

img

首先:document.querySelector的用法自己好好看看,一般获取元素用document.getElementById或者document.getElementsByClassName这几个方式来。
正确的写法:let btn = document.querySelector('button[id=btn]')或者let btn = document.getElementById('btn')
其次:要学会怎么去debug问题。
先把思路捋清楚了再写:
正确思路:写button\div标签,加上id,js中,获取button,给button加上点击监听事件,在点击监听事件中执行ajax,执行ajax:首先实例化,指定请求方式、请求地址、异步还是同步,就是req.open,再发送请求,req.send,最后监测状态变化也就是req.onreadystatechange,当监听到返回的状态为4时,表示请求完成,然后拿到返回来的数据,将返回来的数据再赋给div,显示出来。

上代码吧:

<body>
        <button id="btn">点击查询显示</button>
        <div id="box">你好,世界。</div>
    </body>

    <script>
        //获取页面元素
        let btn = document.querySelector('button[id=btn]')
        let box = document.querySelector('div[id=box]')
        //为按钮添加监听事件
        btn.addEventListener('click', function () {
            let req = new XMLHttpRequest()
            req.open('get', "http://127.0.0.1:12123/CarData/fwfcx.asp", true)
            req.send()
            req.onreadystatechange = function () {
                if (req.readyState == 4 && req.status == 200) {
                    box.innerHTML = this.responseText
                }
            }
        })
    </script>

那你得看看network里 接口是否成功了,req.readyState 是否等于 4 并且 req.srarus ==200 。你在if判断上一行打印一下req看看

cors

img