HTTP Java脚本要求不返回任何内容

时间:2019-03-09 22:02:07

标签: javascript http xmlhttprequest

为什么此代码不起作用?

    function sendHttprequest    (uRL)
        {
with (   new XMLHttpRequest ()){
open('get' ,uRL)

send ( void 0)

  console . log ("RESPONSETEXT:",responseText);;
    }
        }

应该向指定的URL发出HTTPS获取请求。请帮助!

我从freecodecamp获得了此代码,请帮助

2 个答案:

答案 0 :(得分:1)

发出XMLHttpRequest后,您将无法访问响应。您必须设置onload处理程序以等待请求完成,然后在加载时获取响应。 with的使用表示代码已过时,不建议使用。

因此,您的代码已更正:

function sendRequest(url) {
    let request = new XMLHttpRequest();
    request.onload = function (e) {
        console.log('response', request.responseText);
    };
    request.open("GET", url);
    request.send();
}

,如果您必须使用with

function sendRequest(url) {
    with (new XMLHttpRequest()) {
        onload = function (e) {
            console.log('response', responseText);
        };
        open("GET", url);
        send();
    }
}

答案 1 :(得分:-1)

在open方法中,您缺少应提供的async参数。 以下是来自w3schools的示例。访问https://www.w3schools.com/js/js_ajax_http.asp了解更多信息。

    function loadDoc() {
          var xhttp;
           if (window.XMLHttpRequest) {
             // code for modern browsers
              xhttp = new XMLHttpRequest();
           } else {
              // code for IE6, IE5
              xhttp = new ActiveXObject("Microsoft.XMLHTTP");
           }
              xhttp.onreadystatechange = function() {
           if (this.readyState == 4 && this.status == 200) {
              document.getElementById("demo").innerHTML = this.responseText;
           }
         };
         xhttp.open("GET", "ajax_info.txt", true);
         xhttp.send();
     }