哪位大哥能帮我写个原生的 JS getJSON

哪位大哥能帮我写个原生的 JS getJSON,在此感谢了。
不是异步请求,
请求地址:get2.php?uuid=sssssss
失败返回的JSON

 {"error_code": 0, "reason": "success", "resultcode": 200, "qr_code": null}

点击按钮后执行一秒轮询一次get2.php?uuid=sssssss
每轮询一次,按钮上的标题显示次数。
轮询35秒后qr_code还是null,就让用户点击刷新页面。
直到qr_code 栏里是URL 并执行跳转到该地址。

3个回答

<input type="button" id="but" value="开始" onclick="run(1);" />
<script type="text/javascript">
function run(n) {
    var xhr = new XMLHttpRequest();
    xhr.open('get','get2.php?uuid=sssssss&time='+new Date().getTime());
    xhr.onreadystatechange = function () {
        if (xhr.readyState==4 &&xhr.status==200) {
            document.getElementById("but").value = n;
            var data = JSON.parse(xhr.responseText);
            if (data.qr_code!=null) {
                location.href = data.qr_code;
            } else if (n<35) {
                setTimeout(function(){
                    run(n+1);
                }, 1000);
            } else {
                alert("刷新页面");
                location.reload();
            }
        }
    }
    xhr.send();
}
</script>


<input type="button" value="0" id= 'clickTimes' onclick ="myClick()" >

function myClick() {
            for(var i = 1; i < 36 ; i++){
                document.getElementById("clickTimes").value=i;
                console.info(i);
                //步骤一:创建异步对象
                var ajax = new XMLHttpRequest();
                //步骤二:设置请求的url参数,参数一是请求的类型,参数二是请求的url,可以带参数,动态的传递参数starName到服务端
                ajax.open('get','get2.php?uuid=sssssss');
                //步骤三:发送请求
                ajax.send();
            //步骤四:注册事件 onreadystatechange 状态改变就会调用
                ajax.onreadystatechange = function () {
                    if (ajax.readyState==4 &&ajax.status==200) {
                        //步骤五 如果能够进到这个判断 说明 数据 完美的回来了,并且请求的页面是存在的
                        console.log(ajax.responseText);//输入相应的内容
                        var data = ajax.responseText;
                        if(data.qr_code!=null){
                            window.open(data.qr_code)
                        }else if(i==35){
                            window.open("get2.php?uuid=sssssss");//刷新
                        }
                    }
                }
                sleep(1000);
            }
        }
weixin_41959390
梅川酷芷 我试了一下,轮询不行呀。点击了按钮只提交一次。没有轮询
一年多之前 回复
Flyfish_L
默默a20 location.reload();//刷新
一年多之前 回复

原生的getJSON是想说原生的XHR 吧,动态刷新页面的是异步,就是所谓的ajax

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问