CrazyNut 发表于 2020-6-13 20:28

js代码求助

本帖最后由 CrazyNut 于 2020-6-13 21:13 编辑

var httpRequest = new XMLHttpRequest();
      httpRequest.open('GET', './McServer/ip', true);//这里链接得改改
      httpRequest.send();//第三步:发送请求将请求参数写在URL中
      httpRequest.onreadystatechange = function() {
            if (httpRequest.readyState == 4 && httpRequest.status == 200) {
                json = httpRequest.responseText;//获取到返回的字符串
                console.log(json);//这里输出返回值
            }
      };
      console.log(httpRequest.responseText);//为什么这里输出就是未定义
      //要怎么才能在这个地方打印网页得返回文本呢


RT

https://www.52pojie.cn/thread-1199683-1-1.html
悬赏贴

潇洒的吸血鬼 发表于 2020-6-13 21:00

发送请求的方法是异步的,需要在回调方法里输出这个值。执行到console那行代码的时候可能请求结果还没有呢。

Su、 发表于 2020-6-13 21:02

httpRequest.open('GET', './McServer/ip', true);把true改成fasle改为同步

linguo2625469 发表于 2020-6-13 21:45

var httpRequest = new XMLHttpRequest();
                httpRequest.open('GET', './McServer/ip', false);//false表示同步请求
                // 定义返回触发的函数,定义在send之前,不然同步请求就出问题
      httpRequest.onreadystatechange = function() {
            if (httpRequest.readyState == 4 && httpRequest.status == 200) {
                json = httpRequest.responseText;//获取到返回的字符串
                console.log(json);//这里输出返回值
            }
                };
      httpRequest.send();//发送请求
      console.log(httpRequest.responseText);
看一下注释就懂了
页: [1]
查看完整版本: js代码求助