4

У меня есть следующий код:Как вы обрабатываете ошибку «Access to limited URI denied» в JavaScript при использовании XMLHttpRequest?

var req = new XMLHttpRequest(); 
req.onload = function(){ 
    if (req.status === "200"){ 
     doSomethingWithTheReceivedData(); 
    } 
    else { 
     alert("Error msg"); 
    } 
}; 

Однако при запуске index.html непосредственно с компьютера (если оно не подается с моего сервера) я получаю «NS_ERROR_DOM_BAD_URI: доступ к ограниченным URI отказано» в Веб-консоль Firefox, конечно, потому что относительный путь, который пытается выполнить сценарий, недоступен на моем компьютере (он находится на моем сервере). Теперь я хочу правильно обрабатывать эту ошибку, потому что в настоящее время, когда пользователь нажимает кнопку, которая запускает этот код, ничего не происходит. Я уже добавил проверку кода состояния, но, похоже, это не работает для обработки этой ошибки, я полагаю, что запрос никогда не возвращается? Итак, как мне обрабатывать такую ​​ошибку?

+0

XHR вызов к * файл: \\ * протокол ограничен. Вам нужно запустить его на сервере. –

+0

@ TaoP.R. вопрос, похоже, связан с обработкой этих ошибок, а не с их предотвращением – doldt

+0

Итак, нет способа справиться с этой ошибкой? Поскольку этот код является частью дополнительной функции в моем приложении, которая работает только тогда, когда пользователь использует ее с сервера. Пользователи также могут использовать приложение в автономном режиме (просто загружая zip-архив, содержащий все необходимые файлы, это полностью клиентская сторона, за исключением этой необязательной функции). Поэтому я хочу изящно обрабатывать эту ошибку, когда пользователь использует приложение в автономном режиме. – Superpelican

ответ

2

Используйте примерки поймать, когда вы send запрос:

try{ 
    req.send(null); 
}catch(e){ 
alert(e.message); 
} 
Смежные вопросы