Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ошибка Ajax в Firefox
Форум программистов > Интернет и сети > Web 2.0, AJAX, Ruby, RSS технологии
gp812
День добрый.
Написал небольшой скриптик, который после нажатия кнопки должен построить таблицу на странице. При этом идёт запрос к php-скрипту через ajax.
Вот функция запроса:
function saved()
        {
            ajax.requestFile = 'getDate.php?qwerty=1&auftrag=<?=$auftrag?>';
            ajax.onCompletion = qwertyz;
            ajax.runAJAX();
            document.Bestellform.dhtmlgoodies_artikel.options[0].selected = true
            document.Bestellform.dhtmlgoodies_qualitaet.options.length=0;
            document.Bestellform.dhtmlgoodies_farbe.options.length=0;
            document.Bestellform.dhtmlgoodies_groesse.options.length=0;
            document.Bestellform.dhtmlgoodies_anzahl.value="";
            document.Bestellform.dhtmlgoodies_preis.value="";
        }
        function qwertyz()
        {
            var obj = document.getElementById('myTable');
            eval(ajax.response);    
        }


Ответ выглядит приблизительно так:
for (i = myTable.rows.length-1; i != 0; i--) { myTable.deleteRow(i); } var myRow = document.getElementById("myTable").insertRow(1); var myCell = myRow.insertCell(); myCell.innerText = "Josh"; var myCell = myRow.insertCell(); myCell.innerText = "Pignappa Soft"; var myCell = myRow.insertCell(); myCell.innerText = "Schwarz"; var myCell = myRow.insertCell(); myCell.innerText = "52"; var myCell = myRow.insertCell(); myCell.innerText = "100"; var myCell = myRow.insertCell(); myCell.innerText = "4900"; var myRow = document.getElementById("myTable").insertRow(2); var myCell = myRow.insertCell(); myCell.innerText = "Willy"; var myCell = myRow.insertCell(); myCell.innerText = "Pig Ace Soft"; var myCell = myRow.insertCell(); myCell.innerText = "Dunkelbraun"; var myCell = myRow.insertCell(); myCell.innerText = "52"; var myCell = myRow.insertCell(); myCell.innerText = "11"; var myCell = myRow.insertCell(); myCell.innerText = "594"; var myRow = document.getElementById("myTable").insertRow(3); var myCell = myRow.insertCell(); myCell.innerText = "Euro"; var myCell = myRow.insertCell(); myCell.innerText = "Lammnappa Waxy"; var myCell = myRow.insertCell(); myCell.innerText = "Schwarz"; var myCell = myRow.insertCell(); myCell.innerText = "46"; var myCell = myRow.insertCell(); myCell.innerText = "25"; var myCell = myRow.insertCell(); myCell.innerText = "2225"; var myRow = document.getElementById("myTable").insertRow(4); var myCell = myRow.insertCell(); myCell.innerText = "Dominik"; var myCell = myRow.insertCell(); myCell.innerText = "Lammnappa Waxy"; var myCell = myRow.insertCell(); myCell.innerText = "Schwarz"; var myCell = myRow.insertCell(); myCell.innerText = "58"; var myCell = myRow.insertCell(); myCell.innerText = "78"; var myCell = myRow.insertCell(); myCell.innerText = "7893.6";


Т.е. существующая таблица сперва удаляеться\, а на её место пишеться новая.
Всё работает, но только под ИЕ, в Firefox'e вылазит ошибка:
Fehler: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: ..ajax.js :: anonymous :: line 156"  data: no]
Quelldatei: ..ajax.js
Zeile: 156

Fehler: uncaught exception: [Exception... "Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsIXMLHttpRequest.send]"  nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)"  location: "JS frame :: ..ajax.js :: anonymous :: line 186"  data: no]


Строчка 156 из ajax.js: self.responseStatus[0] = self.xmlhttp.status;
Строчка 186: this.xmlhttp.send(this.URLString);

Для xmlhttp в начале скрипта проверяеться, какой броузер. На странице есть и другие запросы через ajax, они работают, только этот нет :-(( Помогите :-(
_serg_
Цитата
NS_ERROR_NOT_AVAILABLE

self.xmlhttp определен? посмотри алертом
Emelya
Здорово, у меня такая же проблема, та же ошибка((((
Для: gp812
Поделись решением, если нашёл...
safo
Надо поглядеть ajax. Что там, библиотека, или что?
Emelya
Для: safo
Спасибо,
нашёл решение проблемы через ваш форум biggrin.gif , т.е. воткнул ещё одну переменную, как описано здесь :
]]>http://www.quirksmode.org/blog/archives/20..._notes_a_1.html]]> ;
Подобную проблему Вы обсуждали в топике Технология AJAX, пост номер 3, оттуда и ссылка wink.gif
safo
Для: Emelya
Очень рад, что пригодился мй форум. Хотя он сейчас в стадии обкатки, да и двиг модернизируется. Материала мало, пока. Но, если, что, заходите, есть наработки по этой теме. Чем смогу, тем помогу!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.