Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Firebug показывает статус 200, а скрипт нет :( 
V
    Опции темы
animegirl
Дата 27.7.2011, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Незнайка на Марсе
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 24.7.2011

Репутация: нет
Всего: нет



Скрипт:
Код

func_ajaxgetdata = function(url,backform)
    {
    try
        {
        ajax = new XMLHttpRequest();
        }
    catch(e)
        {
        try
            {
            ajax = new ActiveXObject("Msxml2.XMLHTTP");
            }
        catch(e)
            {
            try
                {
                ajax = new ActiveXObject("Microsoft.XMLHTTP");
                }
            catch(e)
                {
                alert("Your browser broke!");
                return false;
                }
            }
        }
    
    if(ajax)
        {
        ajax.open("GET", url, true);
        ajax.onreadystatechange = ajaxanswer;
        ajax.send(null);
        }
    
    function ajaxanswer()
        {
        try
            {
            if (ajax.readyState == 4)
                {
                if (ajax.status == 200)
                    {
                    switch(backform)
                        {
                        case  1:
                            {
                            return ajax.responseText;
                            break;
                            }
                        case  2:
                            {
                            return ajax.responseXML;
                            break;
                            }
                        case  3:
                            {
                            return ajax.responseText;
                            break;
                            }
                        }
                    }
                else
                    {
                    alert("Не удалось получить данные:\n" + ajax.statusText);
                    }
                }
            }
        catch(e)
            {
            // alert('Caught Exception: ' + e.description);
            // В связи с багом XMLHttpRequest в Firefox приходится отлавливать ошибку
            // Bugzilla Bug 238559 XMLHttpRequest needs a way to report networking errors
            // https://bugzilla.mozilla.org/show_bug.cgi?id=238559
            }
        }



Запуск:
Код

<div onclick="func_ajaxgetdata('http://vingrad.ru',1);">check</div>


Скрин в атаче

В опере тоже самое, где косяк не пойму, вроде всё верно переписала с примеров  smile 

Это сообщение отредактировал(а) animegirl - 27.7.2011, 20:13


--------------------
Скажи миру - НЯ!
PM   Вверх
animegirl
Дата 28.7.2011, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Незнайка на Марсе
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 24.7.2011

Репутация: нет
Всего: нет



attach

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  ajax.png 71,33 Kb


--------------------
Скажи миру - НЯ!
PM   Вверх
IDVsbruck
Дата 28.7.2011, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 8
Всего: 22



1. У тебя домен свой, а ты пытаешься получить данные с "http://vingrad.ru"? - Если это так, то сделать тебе это не удастся - кроссдоменные запросы для динамических запросов запрещены. Почему файербаг показывает 200 - не знаю, это неважно.
2. Что мешает увидеть ajax.status? - Будешь знать реальный статус и определишься откуда ноги ростут.
3. Практика показывает, что объект типа XMLHttpRequest удобно создавать изначально и разово, используя глобальную переменную, а потом многократно использовать в коде.

P.S. Такое количество фигурных скобок для показа - это перебор ... кода с гулькин нос, а размер огромный.
P.P.S. Для case в конструкциях switch .. case фигурные скобки не нужны - он работает либо для break, либо до окончания конструкции switch.
P.P.P.S. Раз вопрос не в разделе новичков, а в общем, то это подразумевает некоторый опыт работы с js. Поэтому я советовал бы для динамических запросов использовать фреймворки - быстро, удобно, надежно и позволяет избегать множества ошибок. Хотя знать принципы работы надо.
PM MAIL   Вверх
animegirl
Дата 28.7.2011, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Незнайка на Марсе
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 24.7.2011

Репутация: нет
Всего: нет



Фраймворки запрещены.
Проблему кроссдоменности решили через JsonP


--------------------
Скажи миру - НЯ!
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0682 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.