Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
41 / 40 / 16
Регистрация: 23.03.2010
Сообщений: 3,122
1

неработает ajax в ie

28.03.2011, 17:09. Показов 1539. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
вот таким методом пользуюсь

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function makeRequest(url){var http_request=false;
    if (window.XMLHttpRequest){ // Mozilla, Safari, ...
        http_request=new XMLHttpRequest();
        if (http_request.overrideMimeType){http_request.overrideMimeType('text/xml');}
        }else if(window.ActiveXObject){ // IE
            try {http_request = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {
                try {http_request = new ActiveXObject("Microsoft.XMLHTTP");} catch (e) {}}}
    if (!http_request){alert("none"); return false;}
    http_request.onreadystatechange=function(){ alertContents(http_request);}
    http_request.open('GET', url, true);
    http_request.send(null);
    }
 
function alertContents(http_request){
    if (http_request.readyState==4){
        if (http_request.status==200){tx=http_request.responseText;} 
        }
    alert(tx);
        }
 
makeRequest("test.php?a=1");
PHP
1
2
3
$a=$_GET['a'];
if($a==1) echo "test";
   else echo "none";
эт я так примерно накидал чтобы можно было осматривать саму проблему . Суть такова - ява дает запрос пхп скрипту , он его обрабатывает и возвращяет с помощью эха данные которые должны высветится в алерте...

В мозиле , хроме , опере - все работает нормально , а вот ИЕ(любая версия) вообще нехочет , пишет что переменная "тх" (он же ответ с пхп скрипта) не определен. Подскажите как с этим бороться?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2011, 17:09
Ответы с готовыми решениями:

Неработает ajax
Помогите пожалуйста, я использую библиотеку jquery (пробовал и без нее) для посылания ajax:...

После вставки ответа ajax в input запроса, ответ ajax не изменяется
Здравствуйте! В общем так, есть поле input, есть таблица с полем count. Задача: изменить...

Неработает splice()
var slots = document.getElementById('my_army').childNodes;// 15 узлов, 7 элементов и 8 текстовых ...

Неработает секундамер
Здраствуйте, помогите пожалуйсто, не как немогу написать код секундамера, вот попробовал кое что...

5
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
28.03.2011, 17:18 2
Хм... Попробуйте в последнем catch'е поалертовать.
1
41 / 40 / 16
Регистрация: 23.03.2010
Сообщений: 3,122
28.03.2011, 18:42  [ТС] 3
Цитата Сообщение от Hagrael Посмотреть сообщение
Хм... Попробуйте в последнем catch'е поалертовать.
использую ие-е тестер для проверки во всех - покрутил повертел и теперь смотрю сценарий выполняется но ошибка всеравно вылазит что тх не определена , но как она может быть не определена если данные с сервера то передаются ...

И еще один маленький непонятный момент - даже если я использую мозилу то если в код поставить алерт то он будет вылетать не один раз а 5 раз , причем будет выдавать 4 раза старый запрос и один новый...
Это как понимать - 4-5 раз делается запрос (при том что функцию 1 раз использую) на сервер или как???

Добавлено через 1 час 6 минут
короче как я понял проблема в другом , дальше код обстоит примерно так

Javascript
1
2
3
4
5
tx=http_request.responseText; // tx="10#20#30"
arr=tx.split("#");
alert arr[0];
alert arr[1];
alert arr[2];
и выдает такую ошибку - "tx есть null или не является объектом" , при этом сценарий выполняется...
что можно с этим сделать чтоб ие больше не орал?
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
28.03.2011, 18:43 4
Цитата Сообщение от Nebiros Посмотреть сообщение
вылазит что тх не определена
Между строками 14 и 15 добавьте
Javascript
1
var tx;
1
41 / 40 / 16
Регистрация: 23.03.2010
Сообщений: 3,122
28.03.2011, 19:00  [ТС] 5
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Между строками 14 и 15 добавьте
добавил , точнее пробовал так уже , в таком случае вылетает немного другая ошибка - "undefined есть null или не является объектом" , сценарий так же выполняется...
Да и ошибку именно указывает на строку где "тх" разбивается на массив и заносится в переменную arr...

Добавлено через 1 минуту
пробовал добавить - arr=new Array(); , всеравно без толку...

Добавлено через 5 минут
всетаки поспешил я с выводами , все дело именно в получении ответа с сервера , я понял почему эта ошибка выскакивает но непонял как ее устранить...

Дело в том что как я и раньше говорил если в коде поставить алерт то он будет вызываться 5 раз (непойму почему ведь функция запроса вызывается 1 раз) из них 4 раза там нет значения и только на 5 значение есть . Вот ие на это и орет , но как и почему оно так работает немогу понять...
Если можете обьясните как с этим бороться...
0
221 / 135 / 48
Регистрация: 12.04.2010
Сообщений: 248
28.03.2011, 20:53 6
Javascript
1
2
3
4
5
function alertContents(http_request){
        if (http_request.readyState==4){
                if (http_request.status==200){tx=http_request.responseText;} 
                }
        alert(tx);        }
Эту функцию скрипт вызывает несколько раз подряд обеспечивая для тебя контроль за процессом загрузки овета сервеа. При readyState == 4 ты как раз получаешь полностью загруженный ответ сервера. Поэтому tx первые несколько раз не определен в IE, а остальные на это просто забивают.
Править так:
Javascript
1
2
3
4
5
6
7
8
function alertContents(http_request){
        if (http_request.readyState==4){
                if (http_request.status==200){
        var tx = http_request.responseText;
        alert(tx);
} 
                }
        }
Можешь посмотреть в рабочем виде тут. Там небольшой объект для работы с ajax.
1
28.03.2011, 20:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2011, 20:53
Помогаю со студенческими работами здесь

Неработает меню в IE
добрый день, я взял с 1 сайта меню, оно уже было в формате .js, в нем оно прекрасно работало и в...

Определить AJAX библиотеку или отследить AJAX запрос любым методом
Требуется определить какая библиотека используется на сайте для создания AJAX запросов....

Стандарт ajax или jquery-> ajax?
Добрый день, такой вопрос что лучше всего использовать стандарт AJAX объект XMLHttprequest либо же...

Неработает ajax запрос
Скрипт проверяет форму регистрации и если все поля заполнены и прошли проверку регистрирует...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru