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

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

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

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

Ссылки в Ajax

  • Автор темы adrianos
  • Дата начала
A

adrianos

Помогите нубу!
Делаю валидацию формы регистрации на ajax. Вроде бы заезженная тема, но вот уже 2 недели бьюсь и не с места...
Начнем:
Данные формы пересылаются серверу, там проверяются (реализовано на php) и преобразуются в xml примерно следующего вида:
Код:
$response = 
'<?xml version="1.0" encoding="windows-1251" standalone="yes"?>' .
'<response>' .
'<result>' .
Здесь результаты проверки.
'</result>' .
'</response>'; 

header('Content-Type: text/xml');
echo $response;

Сообщение от сервера принимаю Javascriptом приблизительно следующего содержания:
Код:
 responseXml = xmlHttp.responseXML;
// get the document element
xmlDoc = responseXml.documentElement;
result = xmlDoc.getElementsByTagName("result")[0].firstChild.data;

Все нормально работает пока я посылаю с сервера простой текст (типа "форма не заполнена и тра-ля-ля"). Но вздумалось мне вместе с ответом присылать еще пользователю и ссылку на подробное описание ошибки.
Т.е. ответ сервера будет в виде: "Вы сделали неправильно. См описание <a href="help.php">здесь</a>"
Но после отправки такого сообщения, в форме выводится только следующее: "Вы сделали неправильно. См описание" - все остальное не отображается. Что я делаю не так? Возможно ли вообще передать ссылку?
 
A

adrianos

Неужели никто не знает? Нет специалистов?
 
E

etc

Все знают. Перестать заниматься ерундой, и начать читать. Нафик вам тут xml, ссылка и т.д. да и xmlHttp вы неправильно работаете. Вот поэтому у вас нишиша и невыходит.
 
A

adrianos

Ну вот сразу ругаться... лучше б написали как работать правильно. Вот к примеру избавился от xml и действительно заработало. Но чем вам ссылки и xmlHttp не подошли - не понимаю. Показали бы как правильно... Только хаять - это не конструктивный подход.
 
A

adrianos

Что читать? где читать? ткните носом... иначе это только распальцовка, но никак не помощь. Кстати приведенный пример я как раз вычитал в книженке "AJAX и PHP разработка динамических веб-приложений". Так что читаю, но вот то что нужно ли?
По поводу "ссылку проще сделать на клиенте":
делаю валидацию форм, формы многострочные... и проверка проходит каждой строки по событию onblur. На сервер посылаю идентификатор поля и его значение. Один единственный скрипт для каждой строки на сервере по идентификатору определяет, что ему прислали и после соответствующей (определяется по идентификатору) проверки возвращает сообщение об ошибке. Для каждой строки может быть своя ошибка - где-то нужна ссылка на справку, а где-то будет например только сообщение что такое-то поле формы не заполнено. Так будет ли проще делать ссылки на стороне клиента? т.е. скрипт на стороне клиента должен как-то определить "простое" ли это сообщение или со ссылкой, и уже потом создавать эту ссылку... мне кажется этот путь труднее, чем создавать уже готовое сообщение на сервере и слать клиенту, а тот его будет только отображать и не запариваться со ссылкой оно или нет... (наверно немного возрастет нагрузка на сервер, и информации чуть больше гоняется через инет, но так ли это критично...)
 
E

etc

Что читать? где читать? ткните носом...
Может вам и пожевать еще?
как-то определить "простое" ли это сообщение или со ссылкой
json - 7 микросекунд

хозяин барин, если вы присылаете готовый штмл то и делайте его готовым.

что читать: тут есть спец темы где люди кидают ссылки книги и др ресурсы.
 
V

Vovochka

Тоже всегда юзаю json, не брезгую готовым html, но вот xml - эт да... Несмотря на то, что он изначально подразумевается в технологии AJAX, юзать его - самый геморойный вариант.
 
Мы в соцсетях:

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