xmlhttp.request无法打开本地文件

时间:2014-11-19 18:50:30

标签: javascript xmlhttprequest

以下javascript曾经工作但现在没有。 xmlhttp.status为0.文件“SBL_Stats.htm”与javascript位于同一目录中。

我正在使用firefox。

任何人都可以帮助我吗?

var filePath = "SBL_Stats.htm";

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  Log("Firefox");
}
else
{// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  Log("IE6");
}

xmlhttp.overrideMimeType('text/plain');  // don't scan for html
xmlhttp.open("GET",filePath,false);  // false means sync request
xmlhttp.send(null);

if (xmlhttp.status != 200)
{ 
  Log("get_SBL_Stats_Data failed: " + xmlhttp.status);
  return "";
}

1 个答案:

答案 0 :(得分:0)

感谢dandavis让我走上正轨。出现此问题的原因是我使用的是本地文件。我想这意味着使用file :: protocol而不是http :: protocol。访问本地文件时不返回任何状态。删除状态检查可以解决问题。但是我希望能够检测文件是否可以打开,所以我在发送调用周围添加了一个try catch块,如下所示......

    try 
    {
      xmlhttp.send(null);
    }
    catch(err)
    {
      Log("xmlhttp.send error  " + err);
      return "";
    }