Как обрабатывать не удалось открыть ошибку потока, help (javascript, ajax)
Я работаю над страницей, которая одновременно вызывает 3 (или более) одной и той же функции jscript. Я использую функцию, которая проверена и работает с несколькими параллельными запросами ajax (найденными в Интернете, она работает, потому что теперь я столкнулся с этой новой проблемой).
html - это просто
<div id="1"> <script> ajax2(); </script> </div>
<div id="2"> <script> ajax2(); </script> </div>
<div id="3"> <script> ajax2(); </script> </div>
Как вы можете видеть, html запрашивает 3 одновременных вызова одинаковой функции.
Функция ajax2() jscript имеет эту строку, чтобы запросить открытие файла
xhrObj.open("GET", "../testa.php",true);
Проблема заключается в том, что иногда файл недоступен для открытия из-за слишком большого количества одновременных запросов, а программа дает
Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0
Fatal error: Unknown: Failed opening required 'C:/xampp/htdocs/test/testa.php'
Как обработать эту ошибку и заменить запрос открытого файла так, чтобы он открыл другой файл (т.е. testb.php)?
Я попытался обработать подстановку методом использования testb.php и testc.php в качестве подстановок для testa.php, если testa.php недоступен.
var x = xhrObj.open("GET", "../testa.php",true);
if (!x) { var y = xhrObj.open("GET", "../testb.php",true);
if (!y) { xhrObj.open("GET", "../testc.php",true);}
}
но код не работает. Синтаксис неверен, поскольку он дает ту же ошибку, и предупреждения показывают, что testa.php всегда является файлом, который недоступен.
Каков правильный синтаксис проверки того, является ли xhrobj.open в порядке, а если нет, откройте другой файл?
ТИА
Вы делаете асинхронный запрос, а это значит, что вы только запускаете запрос, и метод немедленно возвращается, не зная, будет ли запрос работать или нет.
Вам либо нужно использовать метод обратного вызова, который вызывается при поступлении ответа, либо вам нужно сделать синхронный запрос.
- Вопросы
- Xmlhttprequest
- Как обрабатывать не удалось открыть ошибку потока, help (javascript, ajax)