2014-11-19 2 views
0

Следующий javascript, используемый для работы, но теперь этого не делает. xmlhttp.status равно 0. Файл «SBL_Stats.htm» находится в том же каталоге, что и javascript.xmlhttp.request не удается открыть локальный файл

Я использую 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 ""; 
} 
+0

Вы загружаете http-адрес или файл? – dandavis

+0

Все файлы являются локальными. То есть они находятся в одном каталоге в моей системе XP. –

+0

Хорошо, я вижу, что я получаю статус = 0 для локальных файлов :-(Есть ли способ определить, являются ли файлы локальными или удаленными? –

ответ

0

Спасибо dandavis, который начал меня по правому пути. Проблема возникает из-за того, что я использовал локальные файлы. Я предполагаю, что это означает использование файла :: protocol в отличие от http :: protocol. При доступе к локальным файлам статус не возвращается. Удаление проверки состояния исправляет проблему. Однако я хотел бы узнать, может ли файл быть открыт, поэтому я добавил блок catch try вокруг посылающего вызова следующим образом:

try 
    { 
     xmlhttp.send(null); 
    } 
    catch(err) 
    { 
     Log("xmlhttp.send error " + err); 
     return ""; 
    } 
Смежные вопросы