powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / проблема в межбраузерной совместимости ajax
6 сообщений из 6, страница 1 из 1
проблема в межбраузерной совместимости ajax
    #35901178
kerales
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, добрый день, есть проблема в межбраузерной совместимости ajax. Написал простейший скрипт с использованием ajax:


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
 
 var request = false;
 
 function test()
 {
   try{
    alert('start');
	
	if (window.XMLHttpRequest) request = new XMLHttpRequest();
	else request = new ActiveXObject("Microsoft.XMLHTTP");
	
    request.open("GET", "test.xml", true);
    request.onreadystatechange = onCallBack; 
    request.send(null);
	
	alert('end');
	} catch(e) {alert(e)}
 }
 
 function onCallBack()
 {
   try{
    alert('State=' + request.readyState);
	
	if(request.readyState ==  4 )
	{
	    alert('Status=' + request.status);
	}
   } catch(e) {alert(e)}	
 }
 
</script>
<title>Test-Ajax</title>
</head>
<body>
<form method="post" id="dynamic_form" action="" onsubmit="test()"> 
   <input type="submit" value="Send Ajax">
</form>
</body>
</html>
При этом в разных браузерах получаю такой результат срабатывания alert

===

1. в IE (6):

start
state=1
state=2
state=3
state=4
status=200
end


2. в FF (3):

start
state=2
state=3
state=4
status=200
state=1
status=200
end


3. в Opera (9):

start
end
state=2


4. Chrome (1):

start
end


5. Safari (3):

start
end




=======

Т.е. везде кроме FF и IE мало того не выдается 4 статус, так и вообще не срабатывает обработчик вызова onCallBack.

Может кто нибудь подскажет, в чем дело может я что то не так сделал???
...
Рейтинг: 0 / 0
проблема в межбраузерной совместимости ajax
    #35901201
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь написано как создавать реквест кроссбраузерно.
...
Рейтинг: 0 / 0
проблема в межбраузерной совместимости ajax
    #35901224
kerales
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а что я делаю не правильно создавая кроссбраузерный реквест?


Для всех браузеров кроме IE у меня срабатывает:

Код: plaintext
if (window.XMLHttpRequest) request = new XMLHttpRequest();

помоему это ничему не противоречит, тем более что проблема и наблюдается везде кроме IE
...
Рейтинг: 0 / 0
проблема в межбраузерной совместимости ajax
    #35901626
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AJAX асинхронен (читай - события), а твой алерт привязан ко времени: как раз в нормальных браузерах возникает событие именно тогда, когда на экране алерт. Попробуй вывести не в алерт, а в какой-то элемент - это будет более объективная оценка.
...
Рейтинг: 0 / 0
проблема в межбраузерной совместимости ajax
    #35903045
kerales
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое, зря я этот алерт использовал, все заработало!!!
...
Рейтинг: 0 / 0
проблема в межбраузерной совместимости ajax
    #35904138
The_ShadoW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruckкак раз в нормальных браузерах возникает событие именно тогда, когда на экране алерт.
Скорее так: события возникают во всех браузерах. Нормальные браузеры про них не забывают, пока показывают юзеру алерт, а остальные - как фишка ляжет.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / проблема в межбраузерной совместимости ajax
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]