Javascript中的downloadUrl()说明?

时间:2013-04-09 16:25:51

标签: javascript

我已经看了很多解释,以便我能够理解上述功能。我遇到过的情况是在Google Maps API文档中:

function downloadUrl(url, callback) {
  var request = window.ActiveXObject ?
      new ActiveXObject('Microsoft.XMLHTTP') :
      new XMLHttpRequest;

  request.onreadystatechange = function() {
    if (request.readyState == 4) {
      request.onreadystatechange = doNothing;
      callback(request.responseText, request.status);
    }
  };

  request.open('GET', url, true);
  request.send(null);
}

function doNothing() {}

如果有人可以发光,我们将不胜感激。

2 个答案:

答案 0 :(得分:2)

function downloadUrl(url, callback) { // pass a URL and a function to call on success
  var request = window.ActiveXObject ?
      new ActiveXObject('Microsoft.XMLHTTP') :
      new XMLHttpRequest; // create an xmlhttprequest, native if possible, activeX for older IE - the construct is a ternary conditional statement
  // set up handling of the state change, we only want the 4th
  request.onreadystatechange = function() { // when the request changes state 
                                            // i.e from sending to having received
    if (request.readyState == 4) { // request done
      request.onreadystatechange = doNothing; // removed this anonymous function on 4th state (done)
      callback(request.responseText, request.status); // call the supplied function with result
    }
  };

  request.open('GET', url, true); // now initialize
  request.send(null); // now execute
}

更新:现在(2018年7月)更有可能找到XMLHttpRequest而不是activeX,因此建议使用以下任何一种方法:

  • 切换测试,
  • 删除activeX的测试,
  • 添加try / catch或
  • 使用Fetch

答案 1 :(得分:0)

此代码在浏览器中使用AJAX功能来获取URL的内容。