• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Ошибка Ajax в Firefox

  • Автор темы gp812
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

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, они работают, только этот нет :-(( Помогите :-(
 
E

Emelya

Здорово, у меня такая же проблема, та же ошибка((((
Для: gp812
Поделись решением, если нашёл...
 
S

safo

Надо поглядеть ajax. Что там, библиотека, или что?
 
E

Emelya

Для: safo
Спасибо,
нашёл решение проблемы через ваш форум :( , т.е. воткнул ещё одну переменную, как описано здесь :
;
Подобную проблему Вы обсуждали в топике Технология AJAX, пост номер 3, оттуда и ссылка ;)
 
S

safo

Для: Emelya
Очень рад, что пригодился мй форум. Хотя он сейчас в стадии обкатки, да и двиг модернизируется. Материала мало, пока. Но, если, что, заходите, есть наработки по этой теме. Чем смогу, тем помогу!
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!