1

我正在使用 javascript 检查文件夹中是否存在图像:

function checkUrl(url) {
    var request = false;
    if (window.XMLHttpRequest) {
        request = new XMLHttpRequest;
    } else if (window.ActiveXObject) {
        request = new ActiveXObject("Microsoft.XMLHttp");
    }

    if (request) {
        request.open("GET", url);
        if (request.status == 200) { return true; }
    }

    return false;
}

它在 IE、Firefox(Chrome 除外)中运行良好。有谁知道如何用 Chrome 修复它?谢谢。

4

1 回答 1

0

这是一个同步解决方案。

该函数向服务器发出请求,等待它响应,然后返回结果。

function checkUrl(url){
  var request = new XMLHttpRequest()
  request.open("GET", url, false)
  request.send(null)
  if(request.status == 200){
    return true
  }
  return false
}

第二个代码是一个异步解决方案。

该函数向服务器发送请求,无需等待即可返回。当服务器响应时,回调会被调用并返回结果。

function checkUrlAsync(url, callback){
  var request = new XMLHttpRequest()
  request.onreadystatechange = function(){
    if(request.readyState != 4) return
    if(request.status == 200){
      callback && callback(true)
    }
    else{
      callback && callback(false)
    }
  }
  request.open("GET", url, true)
  request.send()
}
于 2015-05-24T14:21:29.830 回答