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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> uncaught exception: [Exception... "Component retur, ошибка 
V
    Опции темы
flashaa
Дата 7.4.2008, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Здравствуйте проблема такая. Был код, где отправлялся AJAX-запрос на сервер. Работал отлично. 
Код инициализации объекта AJAX следующий:

Код

function init()
{
    if (window.XMLHttpRequest)
        req = new XMLHttpRequest();
    else if (window.ActiveXObject)
        req = new ActiveXObject("Microsoft.XMLHTTP");
    else
    {
        if(document.all)
            alert('alert1')
        else
            alert('alert2')
    }
    req.open('post',  'script.php', true);
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    return req;
}


Код обращения представляется из себя
Код

var req = init();
req.send('запрос');


Я вставил такой же код для своего запроса.
Проблема вот какая: мой запрос, который я вставил раньше старого выполняется нормально. А вот второй запрос выдает ошибку:

Код

uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: script.php :: OK_motion :: line 951" data: no]

Строка 951 это второй вызов req.send
В чем может быть проблема?
PM MAIL   Вверх
Grig
Дата 7.4.2008, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



скорей всего что два раза создаешь один и тот же объект.
Тебе надо создать его или единожды или написать что-то вроде:
Код

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Новая страница 2</title>
<script>
var req = createHttp();

function createHttp(){
    if (window.XMLHttpRequest)
        req = new XMLHttpRequest();
    else if (window.ActiveXObject)
        req = new ActiveXObject("Microsoft.XMLHTTP");
    else
    {
        if(document.all)
            alert('alert1')
        else
            alert('alert2')
    }    
   return req;
}
function send(req)
{
    req.open('post',  'script.php', true);
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
 }
</script>
</head>

<body>
<button onclick="send(req)">1</button>
<button onclick="send(req)">2</button>
</body>
</html>



--------------------
        
PM MAIL ICQ   Вверх
flashaa
Дата 8.4.2008, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Grig, большое спасибо. Объект действительно был один - не смотря на то, что метод init() возвращал разные объекты, для сохранения этого объекта использовалась глобальная переменная, потому я работал с одним и тем же объектом.
Вставка кода
Код

req.open('post',  'script.php', true);
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');


Перед каждым вызовом req.send решила проблему

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


 




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


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

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