Показать сообщение отдельно
  #3 (permalink)  
Старый 23.12.2010, 11:37
Аспирант
Отправить личное сообщение для Logo Посмотреть профиль Найти все сообщения от Logo
 
Регистрация: 15.03.2008
Сообщений: 91

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
	<head>
		<title>Test</title>
		<meta name="content-type" content="charset=utf-8">
		<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
		<script>
			$(function () {
				$('#button').click(function() {
					$('#div').html( $('#div').html() + "идет загрузка...<br>");
					$.ajax({
						url     : '/',
						type    : 'GET',
						timeout : 5000,
						success : function (j) {
							$('#div').html( $('#div').html() + "успешно :)<br>")
						},
						error   : function (XMLHttpRequest, textStatus, errorThrown) {
							var errtext;
							if(textStatus == 'timeout') {
								errtext = 'ошибка - вышло время ожидания ответа сервера (5 сек.)';
							} else if (XMLHttpRequest.status || XMLHttpRequest.statusText) { 
								//XMLHttpRequest.status || XMLHttpRequest.statusText вылетает без сообщения об ошибке
								errtext = 'ошибка - ' + XMLHttpRequest.status + ' '+ XMLHttpRequest.statusText;
							} else
								errtext = 'ошибка'
							$('#div').html( $('#div').html() + errtext + '<br>')
						}
					});
				});
				
			});
		</script>
	</head>
	<body>
	<button id="button">начать загрузку</button>
	<div id="div"></div>
	</body>
</html>


Видимо дело все таки не в JQuery. FireFox ломается на выражении XMLHttpRequest.status || XMLHttpRequest.statusText без сообщения об ошибке. Происходит это когда сервер погашен. При этом Google Chrome работает, Opera - тоже. FireFox 3.6.12 for Ubuntu.
Похоже придется обернуть XMLHttpRequest.status || XMLHttpRequest.statusText в try
Ответить с цитированием